我唯一想做的就是将wav文件转换为我的Android应用程序中的mp3。
我目前正在使用https://github.com/tanersener/mobile-ffmpeg,并且通过音频发布,一切正常。由于lib的大小约为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!
有谁知道我缺少什么或其他配置为此构建最小大小的二进制文件。任何帮助深表感谢!
这些ffmpeg
工具可以自动调用以下过滤器:aformat anull atrim format hflip null transpose trim vflip
。configure
设置为自动选择它们(除非被覆盖),除非您声明--disable-everything
。因此,这些过滤器需要手动启用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句