java - FFMPEG 命令不适用于 Android 10
问题描述
我正在开发一个应用视频效果的安卓应用程序,如慢动作和快动作。我的应用在 android 10 下运行良好,但在 android 10 上运行良好,FFMPEG 没有显示任何错误,只是在 onFailure 回调方法上显示空白错误消息。
我做了一些研究,发现 android 引入了范围权限,您可以通过在清单 android:requestLegacyExternalStorage="true" 上添加此行来暂时绕过它,您将获得存储权限。添加此行后,应用程序的其余端口可以正常获取用户视频等,但 FFMPEG 无法正常工作。
如果有人对此问题有任何想法或线索,请帮助我。
解决方案
这是兼容设备的工作版本,最低 API 16 起。支持安卓 API 29 (Q)
dependencies {
implementation 'com.arthenica:mobile-ffmpeg-full:4.4.LTS'
}
MobileFFmpeg v4.4 的长期支持包
支持以下设备规格
安卓
Android 4.1(API 级别 16)或更高版本
x86 和 x86-64 架构sarm-v7a、arm-v7a-neon、arm64-v8a、
您可以在 github上的官方 repo 上找到更多信息
更新:2021 年 6 月 20 日
不再维护,如MobileFFmpeg 的下一步是什么?
现在被FFmpegKit取代
在这里您可以找到适用于 Android 的 FFmpegKit
特征
- 在主要版本上支持 API 级别 24+,在 LTS 版本上支持 API 级别 16+
- 包括 arm-v7a、arm-v7a-neon、arm64-v8a、x86 和 x86_64 架构
- 可以处理存储访问框架 (SAF) Uris
- 支持设备上的相机访问
- 构建共享本机库 (.so)
- 创建带有 .aar 扩展名的 Android 存档
推荐阅读
- c# - Outlook Interop 使用多个筛选器执行服务器端搜索
- c++ - c++中的图形菜单
- javascript - 同时启动两个函数或它们写入不同的值
- java - 如何在 https 中使用 Selenium 在 Url 中传递 Windows 凭据
- python - 在 Python 中定义 bin 的累积频率
- io - 控制 USB 需要哪些操作系统命令?
- android - 抽象 ViewModel 不更新 LiveData Android MVVM
- excel - 使用 SQL 将带有空字段的 MS Access 2016 表单导出到 Excel 电子表格
- java - 如何在 Google App Engine 中添加 --promote?
- vba - 使用 INNER JOIN 时,用于 MS Access 的 VB 不起作用