首页 > 解决方案 > ExoPlayer:处理延迟加载播放列表的最佳方法是什么?

问题描述

我有一个播放列表,其中包含有关每种媒体的基本信息,我对媒体的流数据一无所知(意味着它可能是 DASH、HLS 等)我想为播放列表中的每种媒体懒惰地创建 MediaSource。这意味着在下一个/上一个我的应用程序将为媒体创建一个 MediaSource。最好的方法是什么?

标签: androidkotlinexoplayer

解决方案


来自https://exoplayer.dev/playlists.html

可以通过在 ConcatenatingMediaSource 中添加、删除和移动 MediaSource 来动态修改播放列表。这可以在播放之前和播放期间通过调用相应的 ConcatenatingMediaSource 方法来完成。播放器在播放期间以正确的方式自动处理修改。例如,如果当前播放的 MediaSource 被移动,则播放不会中断,并且在完成后将播放其新的继任者。如果当前正在播放的 MediaSource 被移除,播放器将自动移动到播放剩余的第一个后继,如果没有这样的后继,则转换到结束状态。

您可以创建您的来源,然后通过addMediaSource调用将它们添加到播放列表中(请参阅此处的参考)

如果没有某种或更详细的代码示例,很难准确说出您要做什么,但我希望该解决方案涉及您懒惰地创建源代码,然后在创建它们时将它们添加到播放列表中.


推荐阅读