12.ijkplayer的使用过程:

11.ijkpalyer引言:

====

12.ijkplayer的使用过程:
>>举例mac系统编译.so文件:
  ijkplayer默认是不支持https的, 如果需要支持https,需自己编译ijkplayer的源码;
  ijkplayer可以编译支持avi,flv,mp3,;
  ijkplayer可以编译支持armv7a,armv5,arm64,x86,x86_64的cpu架构;
>>ijkplayer的编译.so文件:
  win系统、mac系统、Ubuntu 系统上编译.so文件;
  Step 1:安装Git与yasm:
    sudo apt-get install git
    sudo apt-get install yasm
  Step 2:下载,配置SDK与NDK
sdk就不说了,你开发安卓肯定会有的,NDK一般是不默认下载的, 
这里也不建议你使用SDK Manager下载的NDK,之前试过有些许问题, 
建议去官网下载:https://developer.android.google.cn/ndk/downloads/index.html 
NDK的最小版本支持是10e,目前不支持NDK 15!
接着是配置环境变量:
MAC:
打开终端,cd到根目录(cd ~),然后新建一个.bash_profile的文件: 
进行如下配置 等等........ 
  Step.......
  
>> ijkplayer的.so文件使用:
  最简单的使用方法,就是把这个项目当成一个library导入到项目中, 
就是build.gradle里多一个compile project(‘:ijkplayer’), 
然后你就可以用了,记得把你之前写的:
compile 'tv.danmaku.ijk.media:ijkplayer-java:0.8.4'
compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.4'
这些依赖删掉,不然还是会报不支持HTTPS的! 一般到这里引用到项目里就够了!  
  
  >删减无关东西,生成aar依赖库:
  Step 3:把aar文件添加到项目中
这个也很简单,直接丢到app的libs文件夹下,然后build.gradle下添加依赖,(笔者直接把ijkplayer-java-release.aar改名成 
ijkplayer.aar)
implementation(name: 'ijkplayer', ext: 'aar')
>>模块化,模块使用aar找不到问题解决?

11.ijkpalyer引言:

引言:
公司现在的电台项目是我第二个接触音频播放项目,Android音视频播放很多还是使用的MediaPlayer(大中厂除外),但是如果你用过 
MediaPlayer的话,很多开发者都会吐槽有多坑,连谷歌官方都推荐使用ExoPlayer…遇到过最坑的就是播放在线音视频的时候,网络不好会一直加载,然后点多了还容易ANR…以前就一直想把音频播放这个换掉,通过自行搜索和问别人,又下面几个方案(小作坊不可能另外去写个编解码播放库):
>>MediaPlayer:使用的MediaPlayer(大中厂除外),但是如果你用过MediaPlayer的话,很多开发者都会吐槽有多坑,连谷歌官方都推荐 
使用ExoPlayer…遇到过最坑的就是播放在线音视频的时候,网络不好会一直加载,然后点多了还容易ANR…以前就一直想把音频播放这个换掉;
>>ExoPlayer:Demo复杂得一匹…而且网上的资料也不是很多,pass;
>>Vitamio:自用免费,商用收费,直接就pass了;
>>自己编译ffmpeg:一听就很复杂的,同样Pass;
>>ijkplayer:大B站开源的基于FFmpeg的轻量级Android/iOS视频播放器,网上资料挺多的,而且官方也有维护,虽然还有1600多个issues,和mediaplayer差不多的接口,学习成本也不高,可以加进来试试水!
最后就决定使用ijkplayer来替换原先的MediaPlayer了!

最新文章

  1. DBImport V3.7版本发布及软件稳定性(自动退出问题)解决过程分享
  2. [知识笔记]Java 基本数据类型的大小、取值范围、默认值
  3. ps你最容易忽略的知识
  4. x64的调用约定
  5. jQuery plugins 图片上传
  6. Linux课本第一二章
  7. Microsoft .NET Pet Shop 4
  8. 关于我的FGC的OAuth2.0认证。
  9. [Swust OJ 403]--集合删数
  10. Linux 中 crontab 详解及示例
  11. VC++动态链接库(DLL)编程深入浅出
  12. js实现每次程序发送一个数据 ,多次发送不一样,5秒后继续执行多次程序,判断如果五秒后发送过来的数据和上次不一样,少的删除多的增加
  13. 江西理工大学南昌校区cool code竞赛
  14. flash上传文件,如何解决跨域问题
  15. java--遇到NoSuchMethodError通用解决思路
  16. js动态控制表单表格
  17. 浅析tornado 中demo的 blog模块
  18. python 安装pycurl
  19. 牛客网NOIP赛前集训营-普及组(第二场)
  20. iOS开发-ScrollView图片缩放

热门文章

  1. regex-ways
  2. 词向量编码 word2vec
  3. labeled statement:标签语句
  4. xss之cookie窃取
  5. C语言与C++语言的强制类型转换格式区别
  6. Guess Number Game
  7. ceph存储集群性能测试工具步骤(初稿)
  8. 剑指Offer 27. 字符串的排列 (字符串)
  9. linux 查看当前系统版本号
  10. contos防爆力破解密码