我有一种启动视频播放器的方法:
public void startPlayer(String link) {
PlayerView playerView = findViewById(R.id.video_player);
DefaultTrackSelector trackSelector = new DefaultTrackSelector();
DefaultTrackSelector.Parameters defaultTrackParam = trackSelector.buildUponParameters().build();
trackSelector.setParameters(defaultTrackParam);
player = ExoPlayerFactory.newSimpleInstance(this, trackSelector);
playerView.setPlayer(player);
DefaultDataSourceFactory fac = new DefaultDataSourceFactory(this, Util.getUserAgent(this, getString(R.string.app_name)));
HlsMediaSource videoSource = new HlsMediaSource.Factory(fac).createMediaSource(Uri.parse(link));
player.prepare(videoSource);
}
它需要 link
,这是一个uri(“http://someuri.m3u8)的位置 .m3u8
hsl流文件。内部 .m3u8
文件:
# EXTM3U
# EXT-X-VERSION:3
# EXT-X-TARGETDURATION:6
# EXT-X-PLAYLIST-TYPE:EVENT
# EXT-X-MEDIA-SEQUENCE:0
# EXT-X-PROGRAM-DATE-TIME:2020-08-22T19:04:56.742Z
# EXT-X-KEY:METHOD=AES-128,URI="https://internally_stored_uri_key_etc",IV=0x67C6697351FF4AEC29CDBAABF2FBE346
# EXTINF:5.005,
235/19/04/56_742.ts
# EXTINF:5.005,
235/19/05/01_747.ts
# EXTINF:0.6006,
235/19/05/06_752.ts
# EXTINF:0.767433333,
235/19/05/07_353.ts
我想做的是替换 https://internally_stored_uri_key_etc
我从不同的地方得到了我自己的uri。但我不想下载 .m3u8
每隔几秒钟手动归档并更新所有的密钥uri,就是这样。
相反,我希望有人知道一种方法,告诉外星玩家为我这样做。像这样的命令 player.overrideKey(myNewKeyUri)
,这只是我希望存在的一个例子。
有什么想法吗?
暂无答案!
目前还没有任何答案,快来回答吧!