Flutter播放音频时触发MissingPluginException错误求解决方案
解决Flutter中
MissingPluginException(No implementation found for method stop on channel xyz.luan/audioplayers)的方案 实用修复步骤
彻底重启应用与IDE
热重载/热重启不会加载插件的原生端代码,完全关闭App,重启开发工具后重新运行项目。清理缓存并重新构建
执行以下命令清理项目缓存,再重新构建:flutter clean flutter pub get cd ios && pod install && cd .. # 仅iOS项目执行 flutter run检查插件版本兼容性
打开pubspec.yaml,确保audioplayers使用稳定版本,避免太新或太旧的版本导致适配问题,示例配置:dependencies: audioplayers: ^4.0.1 # 替换为当前官方稳定版执行
flutter pub get更新依赖后重新构建。验证原生端配置
- Android:检查
android/app/src/main/AndroidManifest.xml是否添加音频播放权限,同时确认android/build.gradle里的minSdkVersion不低于21(插件最低要求)。 - iOS:在
ios/Runner/Info.plist中添加音频相关权限说明,示例:
同时确保<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>pod install执行过程无报错。
- Android:检查
确认代码初始化逻辑
按照插件规范初始化AudioPlayer实例,调用stop方法前确保实例已完成初始化,示例代码:import 'package:audioplayers/audioplayers.dart'; final player = AudioPlayer(); // 调用stop前保证实例可用 await player.stop();重新生成原生项目文件
若以上方法无效,先备份ios和android目录,删除后执行flutter create .重新生成原生项目文件,再重新添加依赖并构建。
内容的提问来源于stack exchange,提问作者bird
相关产品推荐
相关产品推荐

