[在我的情况下,我试图使用MergingMediaSource(exoplayer)播放带有字幕的视频。问题是字幕的持续时间和视频不一样。视频已结束,但播放器视频尚未结束,仍显示字幕。如何停止播放器视频并停止字幕?我在Player.EventListener onPlayerStateChanged中进行日志调试,但Player.STATE_ENDED不显示我的日志。请帮忙。谢谢。
查看源代码,似乎MergingMediaSource的持续时间为defined by the duration of the first child media source。
因此您的情况
new MergingMediaSource(videoMediaSource, subtitleMediaSource);
会给你你想要的。您可以仔细检查传递给MergingMediaSource构造函数的媒体源的顺序吗?