Android引入IjkPlayer无法播放mkv格式视频怎么办?本文介绍了遇到该问题的解决方法,希望能帮助到大家。
项目中直接引用或者直接编译源码得到的ijkplayer在播放mkv文件时出现(-10000)的错误,去项目github查看了才知道,默认是不支持mkv和rmvb格式视频的播放的。
用了一天时间解决(为什么用了一天,因为我蠢啊),这里记录一下解决的方法(官方上面其实已经有了详细的教程,无奈我当时没有很认真看。)这里为我自己这个新手做个记录:
仍然是采用编译源码的方式引入,只是需要按照官方的方法更改一下脚本文件
ijkplayer官方地址:https://github.com/Bilibili/ijkplayer
运行系统:Mac OS
第一步 安装 homebrew, git, yam,ndk
这个网上教程很多,要不就不写了吧。。。。
ndk的版本不要使用15,可以去网上下一个14的版本,否则可能会出现编译错误的状况。
第二步 进行源码的下拉
在终端内输入以下命令:
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android cd ijkplayer-android git checkout -B latest k0.8.3 ./init-android.sh
第三步 修改编译ffmpeg用的脚本文件
这个就是主要的地方了,其实官方已经写了
cd config rm module.sh ln -s module-default.sh module.sh cd android/contrib
第四步 编译源码
cd android/contrib ./compile-ffmpeg.sh clean ./compile-ffmpeg.sh all cd .. ./compile-ijk.sh all
第五步 项目中加入对应的so库和引用
编译完成后我们在ijkplayer-android/android/ijkplayer文件夹就能看到对应不同架构的ijkplayer的文件夹
首先将项目导入Android Studio中运行一下,导入这个操作一定要做,不然不会生成
ijkplayer-java-release.aar文件
导入的操作如下:
之后将我们所需架构所对应的包含so文件的文件夹(例:ijkplayer-x86/src/main/libs/下的x86文件夹)和ijkplayer-java-release.aar文件(在ijkplayer-java/build/output/aar文件夹下)拷贝到我们的项目libs目录下
然后在build.gradle文件中添加
android{ ... sourceSets { main { jniLibs.srcDirs = ['libs'] } } } repositories { mavenCentral() flatDir { dirs 'libs' } } dependencies { ... compile(name: 'ijkplayer-java-release', ext: 'aar') ... }
到此就搞定了,然后使用就好了,怎么使用,这个网上教程也很多,我也不讲了吧。。。。。。。
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔