我正在使用exoplayer:2.10.1
。我有一个活动,其中包含带有多个音频/数据(.mp3)轨道的RecyclerView。此外,我正在使用ConcatenatingMediaSource
将所有曲目放入“播放列表”,该曲目允许在播放完曲目后自动过渡到下一曲目。
一切正常,只有让曲目的持续时间不断出现一些我想澄清的问题。
进行一些研究后,我得出了以下发现。
有2种情况下音轨发生变化
当前曲目结束
在这种情况下,调用onPositionDiscontinuity()
的原因为DISCONTINUITY_REASON_PERIOD_TRANSITION
,似乎在这一点上设置了持续时间。
用户手动点击要播放的特定曲目
在这种情况下,onPlayerStateChanged()
的原因为STATE_READY
被调用,并且持续时间为!= C.TIME_UNSET
,我可以使用持续时间
我的发现正确吗?有没有更好的方法来获取持续时间?