如何使用 audioplayer 0.2.0 播放本地 mp3 文件在 flutter 中。
pubspec.yaml
flutter:
assets:
- sounds/music.mp3
main.dart
Future<ByteData> loadAsset() async {
return await rootBundle.load('sounds/music.mp3');
}
// FIXME: This code is not working.
Future playLocal() async {
final result = await audioPlayer.play(loadAsset());
if (result == 1) setState(() => playerState = PlayerState.playing);
}
我可以从 rootBundle 获取本地资源路径吗? 我可以在 audioPlayer 上通过 ByteData 支付音频吗?
最佳答案
audioplayer
插件目前只支持网络路径和文件。您可以将 Assets 移动到临时文件夹并使用以下代码进行播放:
import 'package:path_provider/path_provider.dart';
...
final file = new File('${(await getTemporaryDirectory()).path}/music.mp3');
await file.writeAsBytes((await loadAsset()).buffer.asUint8List());
final result = await audioPlayer.play(file.path, isLocal: true);
https://stackoverflow.com/questions/46486475/
相关文章:
flutter - 如何从 TextField 中删除内容填充?
android - 库 com.google.android.gms :play-services-
dart - Flutter:如何正确实现 FlutterError.OnError
flutter - 在 AWS Device Farm、Saucelabs、Firebase 测试实
visual-studio - 是否可以在 Visual Studio 2017 IDE 上设置 f
dart - 在 RichText 小部件中向 TextSpan 背景添加额外的填充
flutter - 像 SliverAppBar 一样隐藏 TabBar
android - Flutter 检索 ro.product.cpu.abi 的设备属性时出错