我已经用flutter_sound
制作了录音机,
声音只播放一次,也许有人尝试在播放时自动循环?
@override
void initState() {
if (widget.voiceofer != null) {
flutterSound.startPlayer(
'/data/user/0/id.captrue.captrue/app_flutter/${widget.voiceofer}');
}
super.initState();
}
更新
使用新版本的音频播放器 1.1.1 您可以使用 setReleaseMode((
例:
final player = AudioPlayer();
void playSound() async {
await player.play(AssetSource('sound.mp3'));
}
void loop() {
player.setReleaseMode(ReleaseMode.loop);
}
我建议将audioplayers
用作具有内置功能以循环播放音频的库。
链接:音频播放器:^0.14.0
实现:
- 使用资产文件夹中的音频路径(例如:"/audio"(创建一个AudioCache实例。
- 使用"未来"调用
loop
文件名
。 - 这将创建一个AudioPlayer实例来处理暂停和停止。
例:
static AudioCache musicCache;
static AudioPlayer instance;
void playLoopedMusic() async {
musicCache = AudioCache(prefix: "audio/");
instance = await musicCache.loop("bgmusic.mp3");
// await instance.setVolume(0.5); you can even set the volume
}
void pauseMusic() {
if (instance != null) {
instance.pause();
}
}
">
AudioPlayer"在这种实现中对我来说效果很好:
//Making sound looping.
final bgAudio = AudioPlayer();
void playBackgroundMusic() {
bgAudio.play(
AssetSource('audio/background.mp3'),
);
bgAudio.onPlayerComplete.listen((event) {
bgAudio.play(
AssetSource('audio/background.mp3'),
);
});