首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >颤栗如何在特定的时间播放和停止音频?

颤栗如何在特定的时间播放和停止音频?
EN

Stack Overflow用户
提问于 2022-01-06 11:28:06
回答 2查看 1.6K关注 0票数 1

我有一个音频播放器应用程序使用just_audio插件。如何在特定的时间播放和停止音频?

例如,我有一个20分钟长的音频文件。我想当我按下播放按钮时,音频将在第5分钟运行,在第8分钟停止。

这里是我的代码

代码语言:javascript
运行
复制
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);
  }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-06 11:39:09

您还可以使用查找方法来查找所需的时间,然后启动定时器并在计时器结束时暂停。

代码语言:javascript
运行
复制
int result = await audioPlayer.seek(Duration(minutes: 5));
Timer(Duration(minutes: 3), () {
    int result = await audioPlayer.pause();
});
票数 1
EN

Stack Overflow用户

发布于 2022-01-06 11:39:50

从文件中:

代码语言:javascript
运行
复制
await player.setClip(start: Duration(seconds: 10), end: Duration(seconds: 20));
await player.play(); // Waits until the clip has finished playing

在你的情况下,它变成:

代码语言:javascript
运行
复制
await player.setClip(start: Duration(minutes: 5), end: Duration(minutes: 8));
await player.play();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70606438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档