我做了一个演示,使它在Android,iPhone,Linux桌面和Mac桌面上都能正常工作,但在Windows桌面上却给了我错误
[ERROR:c:\b\s\w\ir\cache\builder\src\flutter\lib\ui\ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method stop on channel xyz.luan/audioplayers)
有人可以帮助我解决此错误吗?
在此演示中,我使用audioplayers 0.14.2来快速播放本地音频文件。
这是我的代码:-
void main() {
debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia;
runApp(new MaterialApp(home: new ExampleApp()));
}
class ExampleApp extends StatefulWidget {
@override
_ExampleAppState createState() => new _ExampleAppState();
}
class _ExampleAppState extends State<ExampleApp> {
AudioPlayer advancedPlayer;
AudioCache audioCache;
@override
void initState() {
super.initState();
initPlayer();
}
void initPlayer() {
advancedPlayer = new AudioPlayer();
audioCache = new AudioCache(fixedPlayer: advancedPlayer);
}
void playfirst() {
audioCache.play('audio1.mp3');
}
void stop() {
advancedPlayer.stop();
}
@override
Widget build(BuildContext context) {
return DefaultTabController(
length: 1,
child: Scaffold(
appBar: AppBar(
title: Text('Audio file demo'),
),
body: Center(
child: Column(
children: <Widget>[
ButtonTheme(
minWidth: 48.0,
child: RaisedButton(child: Text("play"), onPressed: playfirst)),
ButtonTheme(
minWidth: 48.0,
child: RaisedButton(child: Text("stop"), onPressed: stop))
],
),
)
),
);
}
}
答案 0 :(得分:1)
有人可以帮助我解决此错误吗?
解决该错误的唯一方法是为Windows编写该插件的实现。告诉您缺少该插件的原因是该插件不支持Windows(您可以知道这是因为插件存储库中没有windows
文件夹,或者{{3 }}。
它在[...] linux桌面上正常工作
令人惊讶的是,考虑到您使用的插件也不支持Linux。
鉴于the pubspec.yaml
当前表示:
注意:Windows和Linux插件API和工具尚不稳定,因此,现在编写的任何插件都需要经常更新以打破更改。因此,强烈建议不要在此阶段将Windows和/或Linux插件发布到pub.dev。