我有一个使用just_audio插件的音频播放器应用程序。如何在特定时间播放和停止音频?
例如,我有一个20分钟长的音频文件。我希望当我按下播放按钮时,音频将在第5分钟运行,并在第8分钟停止。
下面是我的代码:
void _setInitialPlaylist() async {
final myAudio1 = Uri.parse("asset:///audio/myAudio.mp3"); // I want this audio play at 00.05.00, stop at 00.08.00
final myAudio2 = Uri.parse("asset:///audio/myAudio.mp3"); // I want this audio play at 00.09.00, stop at 00.12.00
final myAudio3 = Uri.parse("asset:///audio/myAudio.mp3"); // I want this audio play at 00.15.00, stop at 00.19.00
_playlist = ConcatenatingAudioSource(children: [
AudioSource.uri(myAudio1, tag: 'myAudio1'),
AudioSource.uri(myAudio2, tag: 'myAudio2'),
AudioSource.uri(myAudio3, tag: 'myAudio3'),
]);
await _audioPlayer.setAudioSource(_playlist);
}
字符串
3条答案
按热度按时间i2loujxw1#
从文档中:
字符串
在你的情况下,它变成了:
型
5vf7fwbs2#
您还可以使用seek方法查找所需的时间,然后启动计时器并在计时器结束时暂停。
字符串
oxcyiej73#
对于暂停,
_audioPlayer.pause()
对于在特定时间启动音频,
_audioPlayer.seek(Duration(milliseconds:timeInMilliseconds));
_audioPlayer.play();
还有一件事我想添加_audioPlayer.resume是不工作在较新的版本,所以下面的代码可以用于恢复,
_audioPlayer.seek(Duration(milliseconds:player.position.inMilliseconds));
_audioPlayer.play();
个我正面临着“恢复”的问题,也许这可以帮助别人在未来。