2017-09-29 58 views
2

Flutterでaudioplayer 0.2.0でローカルmp3ファイルを再生する方法。Flutterでaudioplayerプラグインを使用してローカルmp3ファイルを再生する方法

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からオーディオを支払うことはできますか?

答えて

4

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); 
+0

ありがとうございました。 私はこのようにmp3を再生することができました。 – granoeste

関連する問題