根据某些条件,我需要在下一个段下载之前开始清单更新。我试图在getNextChunk
中实现更改,但清单未更新。请参考下面的代码。
我对exoplayer代码非常陌生。使用以下代码,我想在下载下一段之前强制进行清单刷新。
在文件DefaultDashChunkSource.java
中
public void getNextChunk(MediaChunk previous, long playbackPositionUs, long loadPositionUs, ChunkHolder out) {
..
if (manifest.dynamic && (my condition)) {
Log.d("getNextChunk", "update manifest now\n");
if (playerTrackEmsgHandler != null &&
playerTrackEmsgHandler.maybeRefreshManifestBeforeLoadingNextChunk(presentationPositionUs)) {
return;
}
}
..
}
正如我提到的,清单文件不会与此更新。我进行了进一步调试,发现if (playerTrackEmsgHandler != null)
失败了。 handle(playerTrackEmsgHandler)
基本为空。
如上所述,由于我是exoplayer的新手,所以可能发生了我没有使用正确的方式实现清单更新的情况。
请建议我应使用哪些代码来强制刷新清单更新。或者可能是我可以将我的代码放在其他地方(在其他文件中)强制清单更新吗?