如何播放本地mp3文件与flutter audioplayer插件
问题描述:
如何播放flutter audioplayer 0.2.0本地mp3文件。如何播放本地mp3文件与flutter audioplayer插件
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
插件目前仅支持网络路径和文件。您可以将资产转移到一个临时文件夹,并用此代码播放:
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);
太谢谢你了。 我能用这种方式播放mp3。 – granoeste