flutter - 如何修改 just_audio 中的队列?
问题描述
我正在尝试使用 just_audio 和 audio_service 制作音乐应用程序,但我一直在实现该onAddQueueItem
功能。我找不到在 just_audio 上附加/修改队列的方法,只有如何通过player.setAudioSource
.
我是打算player.setAudioSource
用来更改当前队列还是我错过了什么?
解决方案
队列/播放列表是在 just_audio 中通过创建一个ConcatenatingAudioSource
提供一个一个接一个地播放的音频源列表来实现的。该类的文档列出了以下方法,几乎所有这些方法都处理附加/修改队列:
- 添加
- 全部添加
- 清除
- 插入
- 全部插入
- 移动
- 删除时间
- 删除范围
- toJson(这个不相关)
- toString(这个不相关)
因此,您在实施时想要onAddQueueItem
的是第一个,add
:
Future<void> onAddQueueItem(MediaItem mediaItem) async {
// Add it to the player
await concatenatingAudioSource.add(AudioSource.uri(Uri.parse(mediaItem.id)));
// Broadcast the state change to clients
queue.add(mediaItem);
await AudioServiceBackground.setQueue(queue);
}
推荐阅读
- php - 无法在 WordPress WP_Query 中显示自定义分类
- excel - Excel VBA宏将excel工作簿保存为pdf不会保存
- wordpress - 由 wordpress 插件创建的自定义页面
- dataframe - DataFrames.jl - 按类型或名称子字符串选择列
- swift - 在 XCode 11 上哪里可以找到“Log Dyld API Usage”和“Log Library Loads”?
- java - 在 Java Eclipse 中运行 .py 文件
- automapper - 带有 AutoMapper 的 EF Core
- discord - 改进不和谐的 MassDM 机器人
- java - Aws Kinesis 消费消息反应式
- scipy - 直接将文件读取为 SciPy 稀疏矩阵