Android 如何在NDK中加载视频文件(位于资产文件夹中)?
我正在通过android ndk执行ffmpeg,我可以在这里运行一个示例[https://github.com/ccggaass/android-ffmpeg-sample] 我想将视频放在android资产文件夹中,因此如何将此文件传递到ffmpeg api: av_open_input_文件(&p格式,文件:/sdcard/vid.3gp),NULL,0,NULL) 有人知道如何将文件传递到av lib吗?也许这样可以Android 如何在NDK中加载视频文件(位于资产文件夹中)?,android,ffmpeg,Android,Ffmpeg,我正在通过android ndk执行ffmpeg,我可以在这里运行一个示例[https://github.com/ccggaass/android-ffmpeg-sample] 我想将视频放在android资产文件夹中,因此如何将此文件传递到ffmpeg api: av_open_input_文件(&p格式,文件:/sdcard/vid.3gp),NULL,0,NULL) 有人知道如何将文件传递到av lib吗?也许这样可以 file:///android_asset/vid.3gp使用以下方法
file:///android_asset/vid.3gp
使用以下方法:
String path = "/sdcard/vid.3gp";
av_open_input_file(&pFormatCtx, "file:/sdcard/vid.3gp", NULL, 0, NULL);
确保在构建APK时不会压缩资产。(因此我们可以访问其文件描述符) 确保Ffmpeg是使用管道协议支持构建的。 从AAsset_管理器中获取资产文件描述符。 像这样构建文件名 char-fn[32]; sprintf(fn,“管道://%d”,您的资产) 像这样打开它。。。 av打开输入文件(x,fn,…) 祝你好运
注意:不要硬编码/sdcard/path。@Mar您的资产来自AAsset\u管理器?它是否可以从getAssets().openFd(“video.mp4”).getFileDescriptor()获取?