アプリ置き場

アプリ置き場

http://www.moreread.net/

flutter audioplayersで1音しか鳴らない

Flutterでaudioplayersを使っていて、Windowsでは複数のBGMや効果音を重ねることができたけど、Androidではできなかった。そういえばスマホにはオーディオフォーカスとかあったなと思い出して、調べてみると下記でミキシング設定できた。

final ctx = AudioContextConfig(
  // マナーモード有効
  respectSilence: true,
  // ミキシング可
  focus: AudioContextConfigFocus.mixWithOthers,
).build();

await player.setAudioContext(ctx);

 
あとWindowsで一度stop()したら(リソース解放されちゃってる?)、seek()できないだの、play()できないだの問題が発生した。 現在のバージョンだけの問題なのかわからないが、とりあえずpauseとseekでstop代わりにしてお茶を濁した。再生はresume()で。

Future<void> stop(){
  await player.pause();
  await player.seek(Duration.zero);
}