七牛播放器SDK注意事项分享:小哥提刀来找,原来是升64位架构闹的!
2024-01-12 22:22:59
测试小哥提刀来找我,说apk升64位架构拍摄选择视频后播放器崩溃了。
一调试,报错如下:
12-20 00:02:08.270 6108-6122/com.xx.xx E/VideoPlayer: com.qiniu.pili.droid.streaming.AVCodecTagList is not visible from class loader
一看报错,牛市啊,比股市还红!
1. 一看就是64位库文件对应的so文件没加载上,开始检查gradle中的ndk版本。
ndkVersion = "21.4.7075529"
再看看64位和32位下的jniLibs目录是否对应着不同架构的so文件。
apk\app\build\outputs\apk\debug\jniLibs\armeabi\libqiniuPiliPldroidstreaming.so
apk\app\build\outputs\apk\debug\jniLibs\arm64-v8a\libqiniuPiliPldroidstreaming.so
有!
md5sum对比了一下,这俩文件确实是不同的。
开始琢磨是不是cmake对应的安卓编译平台不对,是不是sdk库打包时没按对地址打包,搜了一下发现七牛的官方文档中写着:
arm64-v8a:支持64位架构的Android设备
armeabi-v7a:支持32位架构的Android设备,包含armv5te,armv7和armv7s架构
armeabi:支持armeabi和armeabi-v7a,所以不推荐单独使用
2. 原来只要一个依赖包含了armeabi-v7a,那么编译时这个依赖就会被当作是32位架构,而不会被当作64位。
解决方法就是:把gradle文件中的
implementation 'com.qiniu:pili-droid-player:6.5.1'
改成:
implementation 'com.qiniu:pili-droid-player:6.5.1:arm64-v8a'
即可。
至此,小哥化干戈为玉帛,喜提一笔年前的红包。
为了避免再有人因使用七牛播放器sdk而被提刀,现将sdk注意事项分享如下:
1. 七牛播放器sdk报错
-
com.qiniu.pili.droid.streaming.AVCodecTagList is not visible from class loader
-
原因: 您可能在使用64位架构的设备时使用了32位的sdk。
-
解决方法: 确保您使用的是与您设备架构相对应的sdk。
-
-
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xx.xx-1/base.apk"],nativeLibraryDirectories=[/data/app/com.xx.xx-1/lib/arm64, /system/lib64, /vendor/lib64, /product/lib64]]] couldn't find "libqiniuPiliPldroidstreaming.so"
-
原因: 您可能没有在gradle文件中正确配置sdk依赖项。
-
解决方法: 确保您在gradle文件中正确配置了sdk依赖项。
-
2. 七牛播放器sdk崩溃
-
播放器崩溃
-
原因: 您可能使用了错误的sdk版本或没有正确配置sdk。
-
解决方法: 确保您使用的是正确的sdk版本并正确配置了sdk。
-
-
录制崩溃
-
原因: 您可能使用了错误的sdk版本或没有正确配置sdk。
-
解决方法: 确保您使用的是正确的sdk版本并正确配置了sdk。
-
3. 七牛播放器sdk使用指南
-
如何使用七牛播放器sdk播放视频?
-
步骤 1: 在您的项目中添加sdk依赖项。
-
步骤 2: 创建播放器对象。
-
步骤 3: 设置视频源。
-
步骤 4: 准备播放器。
-
步骤 5: 开始播放。
-
-
如何使用七牛播放器sdk录制视频?
-
步骤 1: 在您的项目中添加sdk依赖项。
-
步骤 2: 创建录制器对象。
-
步骤 3: 设置录制参数。
-
步骤 4: 开始录制。
-
步骤 5: 停止录制。
-
4. 七牛播放器sdk技巧
-
使用ExoPlayer作为播放器引擎
- ExoPlayer是一个高性能的媒体播放器引擎,可以提供更好的播放体验。
-
使用硬件解码
- 硬件解码可以减少CPU的负载,提高播放性能。
-
使用缓存
- 缓存可以减少网络请求的次数,提高播放的流畅性。
5. 七牛播放器sdk最佳实践
-
使用最新的sdk版本
- 最新版本的sdk通常会修复一些bug并提供新的特性。
-
正确配置sdk
- 正确配置sdk可以避免出现一些问题。
-
使用正确的播放器引擎
- 根据您的需求选择合适的播放器引擎。
-
使用硬件解码
- 硬件解码可以减少CPU的负载,提高播放性能。
-
使用缓存
- 缓存可以减少网络请求的次数,提高播放的流畅性。
6. 七牛播放器sdk常见问题解答
-
为什么我的播放器无法播放视频?
-
您可能使用了错误的sdk版本或没有正确配置sdk。
-
您可能没有设置视频源。
-
您可能没有准备播放器。
-
您可能没有开始播放。
-
-
为什么我的录制器无法录制视频?
-
您可能使用了错误的sdk版本或没有正确配置sdk。
-
您可能没有设置录制参数。
-
您可能没有开始录制。
-
-
如何提高播放性能?
-
使用ExoPlayer作为播放器引擎。
-
使用硬件解码。
-
使用缓存。
-
7. 七牛播放器sdk安装指南
-
如何安装七牛播放器sdk?
-
您可以在七牛的官方网站上下载sdk。
-
您可以在您的项目中添加sdk依赖项。
-
8. 七牛播放器sdk配置指南
-
如何配置七牛播放器sdk?
-
您需要在gradle文件中配置sdk依赖项。
-
您需要在代码中配置播放器对象。
-
您需要在代码中设置视频源。
-
您需要在代码中准备播放器。
-
您需要在代码中开始播放。
-
9. 七牛播放器sdk开发指南
-
如何使用七牛播放器sdk开发应用程序?
-
您需要在您的项目中添加sdk依赖项。
-
您需要在您的项目中创建播放器对象。
-
您需要在您的项目中设置视频源。
-
您需要在您的项目中准备播放器。
-
您需要在您的项目中开始播放。
-
10. 七牛播放器sdk维护指南
-
如何维护七牛播放器sdk?
-
您需要更新sdk版本。
-
您需要修复sdk中的bug。
-
您需要添加新的特性到sdk中。
-
11. 七牛播放器sdk排错指南
-
如何排错七牛播放器sdk?
-
您需要检查sdk版本是否正确。
-
您需要检查sdk是否正确配置。
-
您需要检查播放器对象是否正确创建。
-
您需要检查视频源是否正确设置。
-
您需要检查播放器是否正确准备。
-
您需要检查播放是否正确开始。
-
12. 七牛播放器sdk性能优化指南
- 如何优化七牛播放器sdk的性能?