我正在使用 Flutter 创建一个音乐应用程序,我正在使用 soundpool 包。我想知道除此之外是否还有其他方法可以循环播放配乐:
app
使用break,声音不会立即停止,而是会在曲目播放完后停止。
我尝试用 pool.stop(soundStreamId) 和 pool.pause(soundStreamId) 替换 break 但它给了我这个错误:
while (true) {
soundStreamId = await pool.play(soundId);
print("Loopin");
if (status == false) {
break;
}
}
请指教。谢谢!
答案 0 :(得分:1)
是的,我需要一个类似的东西并找到了这个包:
https://pub.dev/packages/just_audio
它有循环:
循环和洗牌:
await player.setLoopMode(LoopMode.off); // no looping (default)
await player.setLoopMode(LoopMode.all); // loop playlist
await player.setLoopMode(LoopMode.one); // loop current item
await player.setShuffleModeEnabled(true); // shuffle playlist
播放列表的偶数循环:
player.setAudioSource(
// Loop child 4 times
LoopingAudioSource(
count: 4,
// Play children one after the other
child: ConcatenatingAudioSource(
children: [
// Play a regular media file
ProgressiveAudioSource(Uri.parse("https://example.com/foo.mp3")),
// Play a DASH stream
DashAudioSource(Uri.parse("https://example.com/audio.mdp")),
// Play an HLS stream
HlsAudioSource(Uri.parse("https://example.com/audio.m3u8")),
// Play a segment of the child
ClippingAudioSource(
child: ProgressiveAudioSource(Uri.parse("https://w.xyz/p.mp3")),
start: Duration(seconds: 25),
end: Duration(seconds: 30),
),
],
),
),
);