Vitamio 视频播放那点坑儿

本文介绍了解决Vitamio播放器在64位系统上因缺少arm64-v8a架构支持导致的问题,通过强制加载32位so库和调整目标SDK版本的方法实现兼容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        如今的项目中基本都会有视频播放(在线视频播放、本地视频播放)这一块,相信大家也用过很多的第三方播放组件,我也尝试过好几种,但最终觉得还是Vitamio比较好用。当然也遇到过坑,就比如这一次。

        Vitamio的配置和使用本篇文章就不说了,百度一搜一大堆,没用过的自行百度就可以了,简单易用。在这里主要说说机型适配的问题。

        项目开发中我用的是魅族(MX4)手机,比较老了,没钱换新机,穷哭。因为之前也简单用过,所以分分钟集成好跑了一下,视频完美播放,没有问题。然后测试跑过来要包,我就打了一个发给他们测试,结果尴尬了,程序到视频着一块闪退了,没错,闪退了,华为闪退,OPPO也是一样闪退,我一脸懵逼,拿手机调试了一下,发现报错了,报错信息如下:


        看一下错误信息,可以看出是找不到Libvinit.so文件,在arm64-v8a这个文件下,我们看一下Vitamio的Lib包:


发现并没有arm64-v8a的文件夹,首先说一下,这个是64位系统所用到的文件夹,结果Vitamio并没有,难道Vitamio不支持64位的系统???果断百度了一下,发现所有讲到Vitamio的文章都是如何使用,如何配置,并没有提到64支持性的事,表示很纳闷,并且官网也上不去,据说是因为Vitamio现在维护人员少了,还有说是目前只有一人在维护,所以忙不过来,不管咋说,个人还是很感谢那些大牛的,给我们这些小菜鸡提供了极大的方便。额。。。扯远了。既然百度各种搜不到Vitamio 64位的so文件,那只好另辟蹊径了。

解决办法:

Vitamio只有32位的so文件,那我们就强制系统加载32的so库,反正64位的系统是可以兼容32的,那就强制执行,在app的build.gradle中加上如下代码:

defaultConfig {
        ndk {
            abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
        }
    }
意思就是告诉程序加载这些文件下的so文件,但这些还不够,想要gradle配置生效还需要在gradle.properties中增加一行代码:

android.useDeprecatedNdk=true
好了,这个时候我们就配置完了,系统会被强制加载32的so库,跑一下程序,尼玛,又报错了快哭了


这次又是libffmpeg.so 我也不知道这是什么鬼,百度一番说是Vitamio还不支持6.0,把targetSdkVersion改成22(<=22)就行了,试了一下,果不其然。

 拿华为、OPPO测试机再测试一下,完美运行。

github上搜了一些视频组件,没发现有特别好的,有哪位大牛能给推荐几款好用的视频播放组件,不胜感激!!!


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值