IJKPlayerView设置Header播放视频的方法

Posted xqher

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IJKPlayerView设置Header播放视频的方法相关的知识,希望对你有一定的参考价值。

技术图片

 

 播放b站视频连接的实测图

https://github.com/Rukey7/IjkPlayerView 使用库的连接

在用这个库播放b站视频连接的时候总是播放不了

检查了一下是因为b站视频连接需要验证refer才可以播放

但是库提供的方法没有setHeader的方法,只好用反射将内置的header设置一下了...

以下是写好的setHeader的方法

 

public IjkPlayerView setHeader(IjkPlayerView playerView,String url,Map<String,String> header){
try{
Class playerViewClass=playerView.getClass();
Field videoViewField=playerViewClass.getDeclaredField("mVideoView");
videoViewField.setAccessible(true);
IjkVideoView videoView=(IjkVideoView)videoViewField.get(playerView);
Class videoViewClass=videoView.getClass();
Method setVideoURI=videoViewClass.getDeclaredMethod("setVideoURI",Uri.class,Map.class);
setVideoURI.setAccessible(true);
setVideoURI.invoke(videoView,Uri.parse(url),header);
videoViewField.set(playerView,videoView);
}catch(Exception e){
e.printStackTrace();
}
return playerView;
}

最好在PlayerView init()后设置

技术图片

 

 实测还行

以上是关于IJKPlayerView设置Header播放视频的方法的主要内容,如果未能解决你的问题,请参考以下文章

后台服务器传到前台的网页视频,怎么可以下载,不直接播放

Opencv 简单视频播放器

JS设置视频播放周期

点播 构造自己的播放器 用户调用获取视频播放地址接口

Html5新增标签video视频,实现音视频的播放暂停快进慢进倍速等操作

具有自动播放功能的视频标签在反应中不起作用