有没有办法指定同一播放列表上音轨之间的时间延迟?
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]);
【讨论】:
以上是关于有没有办法指定同一播放列表上音轨之间的时间延迟?的主要内容,如果未能解决你的问题,请参考以下文章