ijkPlayer.3 AndroidIO

ijk本不支持直接播裸流,本想自行增加一个协议去处理,同事发现AndroidIO可以支持。

1.新建类实现AndroidIO,如图

androidio.png

2.设置AndroidIO 并且Uri增加协议头
((IjkMediaPlayer) mMediaPlayer).setAndroidIOCallback(new FileAndroidIO());
mUri = Uri.parse("ijkio:androidio:" + mUri.toString());
3.增加白名单 ijkio
ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "protocol_whitelist", "ijkio,crypto,file,http,https,tcp,tls,udp");
4.可能遇到的问题
1).引用v8架构 ffmpeg有bug
内含解决办法https://github.com/bilibili/ijkplayer/issues/4759
2).moov atom not found
应该是AndroidIO 中seek方法有问题,需要返回文件长度

待上传代码工程.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容