我有一个 m4a 文件,其中包含两个 AAC 编码的音频流。我想在 Android 上使用 ffmpeg 库对其进行解码。但是,avformat_open_input() 失败并显示“处理输入时发现无效数据”。
该文件是使用相同的库创建的(即编码的音频数据)。
我已经仔细检查了提供给调用的文件路径的准确性。
该文件似乎没有损坏。它使用 QuickTime 播放器播放,ffprobe 报告以下输出。
我查看了 ffmpeg 的 utils.c 中的源代码,但不清楚文件中数据的无效性是在哪几个点(包括嵌套调用)中决定的。
FFPROBE OUTPUT
built with gcc 7.2.0 (crosstool-NG fa8859cb)
configuration: --prefix=/home/ubuntu/miniconda3 --disable-doc --enable-
shared --extra-cflags='-fPIC -I/home/ubuntu/miniconda3/include' --extra-
cxxflags='=-fPIC' --extra-libs='-L/home/ubuntu/miniconda3/lib -lz' --enable-
pic --disable-static --disable-gpl --disable-nonfree --disable-openssl --
enable-libvpx --cc=/opt/conda/conda-
bld/ffmpeg_1530807717919/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --cxx=/opt/conda/conda-bld/ffmpeg_1530807717919/_build_env/bin/x86_64-conda_cos6-linux-gnu-c++ --enable-libopus
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libswscale 4. …Run Code Online (Sandbox Code Playgroud) 我想参数添加到CMake的,以遵循了Android NDK 指令使用的地址杀菌器。因此,在本机模块的build.gradle文件中,我具有以下内容:
externalNativeBuild {
cmake {
path "CMakeLists.txt"
arguments "-DANDROID_ARM_MODE=arm", "-DANDROID_STL=c++_shared"
cppFlags "-fsanitize=address -fno-omit-frame-pointer"
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试同步我的项目(Android Studio v.3.4.2,Win10)时,出现错误消息:
错误:未找到Gradle DSL方法:“ arguments()”
我已经在网上搜索过,但是找不到通过“参数”方法提及此问题的其他信息。我正在使用gradle 3.4.2。
我想念什么?