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()后設置

 

 實測還行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM