我正在开发一个应用慢动作和快动作等视频效果的 Android 应用程序。我的应用程序在 android 10 以下运行良好,但在 android 10 上运行不佳,并且 FFMPEG 未显示任何错误,仅在 onFailure 回调方法上显示空白错误消息。
我做了一些研究,发现 android 引入了范围权限,您可以通过在清单 android:requestLegacyExternalStorage="true" 上添加此行来暂时绕过此权限,然后您将获得存储权限。添加此行后,应用程序的其余部分可以正常获取用户视频等,但 FFMPEG 无法正常工作。
如果有人对这个问题有想法或线索,请帮助我。
Android Q 引入了一些有关文件夹/文件权限的重大更改。在 Android 上使用转换器时出现以下错误:
java.io.IOException:无法运行程序“/data/user/0/com.ltcfastpay.timecard.debug/files/ffmpeg”:错误= 13,权限被拒绝
我对 AndroidAudioRecorder 遇到了同样的问题,发现以下获取文件路径的方法在 Android Q 中已被弃用:
Environment.getExternalStorageDirectory().getPath()
要修复我必须将其更改为:
this.getActivity().getFilesDir().getAbsolutePath()
所以现在我可以录制并保存为 wav,但是当我尝试转换为 mp3 时,我的权限被拒绝。
我试图对 AndroidAudioConverter.java 文件进行更改,但它被锁定在 Android Studio 中,这告诉我我可能不应该篡改它。