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了!