如何解决使用Android ExoPlayer用外部存储的密钥覆盖AES密钥
我有一种启动视频播放器的方法:
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
,这是一个.m3u8
hsl流文件的位置的uri(“ http://someUri.m3u8”)。在.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,多数民众赞成。
相反,我希望有人知道一种告诉exoPlayer为我做到这一点的方法。使用诸如player.overrideKey(myNewKeyUri)
之类的命令,这只是我希望存在的一个示例。
有什么想法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。