Flutter 有没有一种方法可以循环一个声音池音轨颤振包?
我正在使用flatter创建一个音乐应用程序,我正在使用soundpool包。我想知道除了这个,是否还有其他方法可以循环播放原声带:Flutter 有没有一种方法可以循环一个声音池音轨颤振包?,flutter,flutter-dependencies,Flutter,Flutter Dependencies,我正在使用flatter创建一个音乐应用程序,我正在使用soundpool包。我想知道除了这个,是否还有其他方法可以循环播放原声带: while (true) { soundStreamId = await pool.play(soundId); print("Loopin"); if (status == false) { break; } } 通过使用“中断”,声音不会立即停止,但会在曲目完全播放后停止 我尝试用pool.stop(soundSt
while (true) {
soundStreamId = await pool.play(soundId);
print("Loopin");
if (status == false) {
break;
}
}
通过使用“中断”,声音不会立即停止,但会在曲目完全播放后停止
我尝试用pool.stop(soundStreamId)和pool.pause(soundStreamId)替换break,但出现以下错误:
[VERBOSE-2:ui_dart_state.cc(177)] Unhandled Exception: 'package:soundpool/soundpool.dart': Failed assertion: line 189 pos 12: 'streamId > 0': Invalid 'streamId' parameter. Only values greater than 0 are valid.
#0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39)
#1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5)
#2 Soundpool.stop (package:soundpool/soundpool.dart:189:12)
#3 SoundServices.toggleSound (package:Waver/api/sound_service.dart:33:20)
<asynchronous suspension>
#4 _AutoSoundSetterState._toggleSpectrumAnalyzer (package:Waver/Widgets/Setup/AutoSoundSetter.dart:51:20)
#5 _AutoSoundSetterState.build.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:Waver/Widgets/Setup/AutoSoundSetter.dart:211:31)
#6 State.setState (package:flutter/src/widgets/framework.dart:1244:30)
#7 _AutoSoundSetterState.build.<anonymous closure>.<anonymous closure> (package:Waver/Widgets/Setup/AutoSoundSetter.dart:203:27)
[VERBOSE-2:ui\u dart\u state.cc(177)]未处理的异常:“package:soundpool/soundpool.dart”:失败的断言:第189行位置12:“streamId>0”:无效的“streamId”参数。只有大于0的值才有效。
#0\u断言错误。\u doThrowNew(dart:核心修补程序/错误\u修补程序。dart:46:39)
#1 _断言错误。_throwNew(dart:核心补丁/错误补丁。dart:36:5)
#2 Soundpool.stop(包:Soundpool/Soundpool.dart:189:12)
#3 SoundServices.toggleSound(软件包:Waver/api/sound_service.dart:33:20)
#4 AutoSoundSetterState.toggleSpectrumAnalyzer(包:Waver/Widgets/Setup/AutoSoundSetter.dart:51:20)
#5_AutoSoundSetterState.build。。。(软件包:Waver/Widgets/Setup/AutoSoundSetter.dart:211:31)
#6 State.setState(包:flatter/src/widgets/framework.dart:1244:30)
#7_AutoSoundSetterState.build。。(软件包:Waver/Widgets/Setup/AutoSoundSetter.dart:203:27)
请告知。谢谢 是的,我需要一个类似的东西,找到了这个包裹: 它具有循环: 循环和洗牌:
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),
),
],
),
),
);