0

我试图updateQueue([])重置队列(这不起作用)。我为什么要这样做是因为我在mediaItem下面添加了skipToNext

mediaItem.add(
   MediaItem(
     id: lecture.url!,
     title: lecture.name!,
     artUri: Uri.parse(bookArt),
     artist: "artist",
     album: bookName
   )
 );
_player.seekToNext();

每当我播放任何音频时,它都会从我离开队列的任何地方开始,这显然意味着我必须清除队列。那么我该怎么做呢?

我正在使用的包是audio_service one-isolate分支

4

1 回答 1

1

如果您遵循Suragch 的教程。在您将看到功能page_manager.dartremove()

  void remove() {
    final lastIndex = _audioHandler.queue.value.length - 1;
    if (lastIndex < 0) return;
    _audioHandler.removeQueueItemAt(lastIndex);  }

AudioService queue此函数从和中删除最后一项JustAudio playlist

所以你可以循环播放列表并调用remove(). 它将清除所有playlistqueue

for (int i = 0; i < playlist.length; i++) {
  remove();
}

希望这能回答你的问题!

于 2022-01-13T04:41:19.917 回答