如何解决这个问题,不工作的音频播放器在扑动



我正面临着让音频播放器在Flutter中工作的问题。

我的简单应用程序由一堆不同颜色的键组成,每当点击时,每个键都应该播放一些音频文件(音频文件是本地的,并与应用程序捆绑在资产中)与lib文件夹处于同一级别的文件夹,并且音频文件的扩展名为。wav)

我正在使用audioplayers 2.0.0库并定义AudioPlayer的实例并将其存储在一个变量中,然后用play方法调用AudioPlayer,因为我的音频是本地的,所以我将音频文件包装在AssetSource()中。

,每当我点击任何一个键,什么都不会播放,并且在控制台中有这样的消息(这一次当点击第一个键时):

E/flutter ( 5043): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] 
Unhandled Exception: MissingPluginException(No implementation found for method getTemporaryDirectory on channel plugins.flutter.io/path_provider) 
E/flutter ( 5043): #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:294:7) E/flutter ( 5043): <asynchronous suspension> 
E/flutter ( 5043): #1      getTemporaryDirectory (package:path_provider/path_provider.dart:55:24) 
E/flutter ( 5043): <asynchronous suspension> 
E/flutter ( 5043): #2      AudioCache.fetchToMemory (package:audioplayers/src/audio_cache.dart:78:27) 
E/flutter ( 5043): <asynchronous suspension> 
E/flutter ( 5043): #3      AudioCache.load (package:audioplayers/src/audio_cache.dart:101:31) 
E/flutter ( 5043): <asynchronous suspension> 
E/flutter ( 5043): #4      AudioPlayer.setSourceAsset (package:audioplayers/src/audioplayer.dart:249:17) 
E/flutter ( 5043): <asynchronous suspension> 
E/flutter ( 5043): #5      AudioPlayer.play (package:audioplayers/src/audioplayer.dart:131:5) 
E/flutter ( 5043): <asynchronous suspension> 
E/flutter ( 5043): 
下面是我在主文件中的代码:
import 'package:flutter/material.dart';
import 'package:audioplayers/audioplayers.dart';

void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
Widget buildKey(int noteToPlay, Color keyColor) {
return Expanded(
child: Container(
color: keyColor,
child: TextButton(
child: Text('This is the button #$noteToPlay',
style: TextStyle(
fontSize: 25,
color: Colors.white,
),
),
onPressed: () async{
final player = AudioPlayer();
player.play(AssetSource('assets_note$noteToPlay.wav'));
},
),
),
);
}

@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: SafeArea(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
buildKey(1, Colors.red),
buildKey(2, Colors.orange),
buildKey(3, Colors.yellow),
buildKey(4, Colors.green),
buildKey(5, Colors.teal),
buildKey(6, Colors.blue),
buildKey(7, Colors.purple),
]
),
)
),
);
}
}

我阅读了关于audioplayerlibrary的资料,试图找出问题所在,但是没有结论,希望你能帮助我

相关部分是您正在接收MissingPluginException,这意味着flutter无法找到包实现。确保在pubspec中包含了所依赖的所有包。yaml文件。

之后,从设备/模拟器中删除应用程序并重新安装。这将把所有的插件通道加载到本地代码

最新更新