如何修改 just_audio 中的队列?
How can I modify the queue in just_audio?
我正在尝试使用 just_audio 和 audio_service 制作音乐应用程序,但我一直在实现 onAddQueueItem
功能。我找不到 append/modify just_audio 队列的方法,只能通过 player.setAudioSource
.
使用新播放列表重新加载 just_audio
我是想使用 player.setAudioSource
来更改当前队列还是我遗漏了什么?
Queues/playlists 是在 just_audio 中通过创建一个 ConcatenatingAudioSource
实现的,它给出了一个接一个播放的音频源列表。 class 的 documentation 列出了以下方法,几乎所有方法都处理 appending/modifying 队列:
- 添加
- 全部添加
- 清除
- 插入
- 全部插入
- 移动
- 删除时间
- 删除范围
- 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);
}
我正在尝试使用 just_audio 和 audio_service 制作音乐应用程序,但我一直在实现 onAddQueueItem
功能。我找不到 append/modify just_audio 队列的方法,只能通过 player.setAudioSource
.
我是想使用 player.setAudioSource
来更改当前队列还是我遗漏了什么?
Queues/playlists 是在 just_audio 中通过创建一个 ConcatenatingAudioSource
实现的,它给出了一个接一个播放的音频源列表。 class 的 documentation 列出了以下方法,几乎所有方法都处理 appending/modifying 队列:
- 添加
- 全部添加
- 清除
- 插入
- 全部插入
- 移动
- 删除时间
- 删除范围
- 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);
}