
公司现在的电台项目是我第二个接触音频播放项目,Android音视频
播放很多还是使用的MediaPlayer(大中厂除外),但是如果你用过
MediaPlayer的话,很多开发者都会吐槽有多坑,连谷歌官方都推荐
使用ExoPlayer…遇到过最坑的就是播放音视频的时候,网络不好
会一直加载,然后点多了还容易ANR…以前就一直想把音频播放这个
换掉,通过自行搜索和问别人,又下面几个方案(小作坊不可能
另外去写个编解码播放库):
ExoPlayer:Demo复杂得一匹…而且网上的资料也不是很多,pass; Vitamio:自用免费,商用收费,直接就pass了; 自己编译ffmpeg:一听就很复杂的,同样Pass; ijkplayer:大B站开源的基于FFmpeg的轻量级
Android/iOS视频播放器,网上资料挺多的,而且官方
也有维护,虽然还有1600多个issues,和mediaplayer
差不多的接口,学习成本也不高,可以加进来试试水!
最后就决定使用ijkplayer来替换原先的MediaPlayer了!
build.gradle添加下述依赖引用即可:
dependencies {
# 对于大部分的设备来说已经够用了
compile tv.danmaku.ijk.media:ijkplayer-java:0.8.4
compile tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.4
# Other ABIs: 可选
compile tv.danmaku.ijk.media:ijkplayer-armv5:0.8.4
compile tv.danmaku.ijk.media:ijkplayer-arm64:0.8.4
compile tv.danmaku.ijk.media:ijkplayer-x86:0.8.4
compile tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.4
# ExoPlayer as IMediaPlayer: optional, experimental
compile tv.danmaku.ijk.media:ijkplayer-exo:0.8.4
}
这里简单说点东西来解除你可能存在的一些疑惑:
armv7a,armv5,arm64,x86,x86_64 这些是对应的CPU架构,
一般来说准备一个armv7a就基本够了,如果系统找不到CPU架构
对应的so库会去找armeabi,多依赖一些架构只是稍微会快一点,
但是这样也伴随着apk体积的增大,这个需要你自行去权衡!!!
反正笔者就只有一个:armv7a,暂时没发现什么不服!
然后使用方法和MediaPlayer大同小异,这就不另外讲述怎么
使用了,网上一搜也很多。接下来要说下笔者遇到的一个问题:
ijkplayer默认不支持HTTPS
是的,不支持,如果你尝试使用ijkplayer播放Https开头的音频,会报这样的错误:

除了去编译ijkplayer的源码,没有其他选择,编译这玩意可把我
坑惨了,各种不懂,碰壁,不过最后所幸还是捣鼓成功了,顺道
记录下,方便后来者(顺道吐槽下网上各种抄的文章,搜到的基本
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-62242-1.html
但即便不是无害通过也不会不予警告就直接开火或者撞击
这是亮剑精神
12海里领海和200海里专属经济区规定的既定事实
弄个公司上市圈钱