【问题标题】:Playing two sound tracks at the time [just audio]当时播放两个音轨[只是音频]
【发布时间】:2021-07-08 08:05:36
【问题描述】:
当时我正在尝试播放两个音轨,第一个用作 BGM,另一个用作 SFX
现在发生的情况是 BGM 正在播放,当 SFX 声音开始播放时,BGM 会停止,然后从头开始。
我希望这两种声音都不间断地播放,我搜索了文档,但找不到明确的答案。
【问题讨论】:
标签:
flutter
dart
just-audio
【解决方案1】:
您可以使用asset_audio_player 打开多个音频实例。
///play 3 songs in parallel
AssetsAudioPlayer.newPlayer().open(
Audio.asset("assets/audios/song1.mp3")
);
AssetsAudioPlayer.newPlayer().open(
Audio.asset("assets/audios/song2.mp3")
);
//another way, with create, open, play & dispose the player on finish
AssetsAudioPlayer.playAndForget(
Audio.asset("assets/audios/song3.mp3")
);
您可以阅读文档了解更多信息。
【解决方案2】:
你可以参考this question获得更全面的答案,但你可以简单地创建两个播放器,一个播放BGM,一个播放SFX:
final bgmPlayer = AudioPlayer();
final sfxPlayer = AudioPlayer();
await bgmPlayer.setAsset('music.mp3');
await sfxPlayer.setAsset('effect.mp3');
bgmPlayer.play(); // start playing background music
// now you can play the sound effect any time you want
// while the BGM continues to play:
await sfxPlayer.play();
await sfxPlayer.play();
await sfxPlayer.play();