我正在使用ConcatenatingMediaSource无缝播放许多MediaSource,这很有趣,但是当播放器开始播放下一个MediaSource时,我找不到接收回调的方法.
当MediaSource发生变化时,ExoPlayer.EventLister.onTracksChanged(TrackGroupArray,TrackSelected)被调用(此时我可以听到新的曲目),因此看起来好像是正确的位置,但是如何检索正在播放的MediaSource的索引呢?
MediaSource[] allSources = // ...ConcatenatingMediaSource source = new ConcatenatingMediaSource(allSources);ExoPlayer player = // ..player.prepare(source);// ...@OverrIDepublic voID onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) { // Can I retrIEve the index of the MediaSource currently being played here? // If not, where!?}
解决方法:
显然,正确的回调是onpositiondiscontinuity(),获取正在播放的当前MediaSource的索引的方法是ExoPlayer.getCurrentwindowIndex()
@OverrIDepublic voID onpositiondiscontinuity() { int sourceIndex = player.getCurrentwindowIndex();}
总结 以上是内存溢出为你收集整理的android-ExoPlayer ConcatenatingMediaSource更改源回调全部内容,希望文章能够帮你解决android-ExoPlayer ConcatenatingMediaSource更改源回调所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)