有没有办法指定同一播放列表上音轨之间的时间延迟?

Posted

技术标签:

【中文标题】有没有办法指定同一播放列表上音轨之间的时间延迟?【英文标题】:There is a way to specify the time delay between audio tracks on the same playlist? 【发布时间】:2021-11-08 04:15:48 【问题描述】:

我需要在播放列表上的音轨之间设置特定的时间延迟。前任。 10 秒延迟。我怎么能做到这一点?提前致谢

【问题讨论】:

这可能会回答您的问题。 ***.com/questions/49471063/… 【参考方案1】:

有两种方式:

    创建所需时长的无声音轨,并将其插入ConcatenatingAudiosource 中的每个项目之间。 不要使用ConcatenatingAudioSource,编写自己的播放列表逻辑。

第二种方法的示例可能是:

// Maintain your own playlist position
int index = 0;
// Define your tracks
final tracks = <IndexedAudioSource>[ ... ];

// Auto advance with a delay when the current track completes
player.processingStateStream.listen((state) async 
  if (state == ProcessingState.completed && index < tracks.length) 
    await Future.delayed(Duration(seconds: 10));
    // You might want to check if another skip happened during our sleep
    // before we execute this skip.
    skipToIndex(index + 1);
  
);

// Make this a method so that you can wire up UI buttons to skip on demand.
Future<void> skipToIndex(int i) 
  index = i;
  await player.setAudioSource(tracks[index]);

【讨论】:

以上是关于有没有办法指定同一播放列表上音轨之间的时间延迟?的主要内容,如果未能解决你的问题,请参考以下文章

自动播放使用 javascript 创建的 html 音频

使用 Matlab 检测两个音频文件中多次点击声音之间的延迟

如何让音频在 React 中更流畅地循环播放?

Javascript 音频不会停止并同时播放多个音轨

带有播放/暂停按钮的多个引导轮播

按顺序在线播放视频文件,视频之间没有延迟/缓冲