我正在无缝ConcatenatingMediaSource地玩很多MediaSource游戏,这很有趣,但是当玩家开始播放下一个MediaSource.
ExoPlayer.EventLister.onTracksChanged(TrackGroupArray, TrackSelected)在MediaSource更改时被调用(我可以在那时听到新曲目),所以它似乎是正确的地方,但我如何检索MediaSource正在播放的索引?
MediaSource[] allSources = // ...
ConcatenatingMediaSource source = new ConcatenatingMediaSource(allSources);
ExoPlayer player = // ..
player.prepare(source);
// ...
@Override
public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {
// Can I retrieve the index of the MediaSource currently being played here?
// If not, where!?
}
Run Code Online (Sandbox Code Playgroud)
显然正确的回调是onPositionDiscontinuity(),获取当前MediaSource正在播放的索引的方法是ExoPlayer.getCurrentWindowIndex()
@Override
public void onPositionDiscontinuity() {
int sourceIndex = player.getCurrentWindowIndex();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2790 次 |
| 最近记录: |