1

我唯一想做的就是在我的 Android 应用程序中将 wav 文件转换为 mp3。

我目前正在使用https://github.com/tanersener/mobile-ffmpeg并且通过音频发布一切正常。由于库大小约为 40 MB,我只需要一个命令,我想按照 Wiki 中的描述构建自己的 .aar 文件以减小应用程序大小。

我编辑了android-ffmpeh.sh ./configure:

--disable-everything \    
--enable-pthreads \
--enable-avcodec \
--enable-avformat \
--enable-swresample \
--enable-avfilter \
--enable-libmp3lame \
--enable-parser=mpegaudio \
--enable-demuxer=mp3,wav,pcm_s16le \
--enable-muxer=mp3,wav,pcm_s16le \
--enable-decoder=pcm*,mp3*,wav,pcm_s16le \
--enable-encoder=pcm*,pcm_s16le,wav,mp3,libmp3lame \
--enable-filter=aresample \
--enable-protocol=file \

然后跑./android.sh -l --enable-lame --enable-libiconv

在我的 Android 应用程序 FFmpeg 中加载,但转换没有成功并出现以下错误:

E/mobile-ffmpeg: [AVFilterGraph @ 0x7209dfec40] No such filter: 'anull'
E/mobile-ffmpeg: Error reinitializing filters!
E/mobile-ffmpeg: Failed to inject frame into filter network: Invalid argument
E/mobile-ffmpeg: Error while processing the decoded data for stream #0:0
I/mobile-ffmpeg: Conversion failed!

有谁知道我缺少什么或其他配置来为此构建最小大小的二进制文件。非常感谢任何帮助!

4

1 回答 1

0

这些ffmpeg工具可以自动调用以下过滤器:aformat anull atrim format hflip null transpose trim vflip. configure设置为自动选择它们,除非您通过声明--disable-everything. 因此,需要手动启用这些过滤器。

于 2020-11-22T04:48:09.113 回答