使用ffmpeg转码的ogg音频文件无法在Android中播放

文章讲述了使用ffmpeg对音频文件进行压缩时遇到的问题,Android设备无法正常播放,原因在于视频部分未移除。通过添加-vn参数去除视频后,解决了播放问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、由于音频占用过多资源,决定使用ffmpeg对音频文件进行压缩;

ffmpeg -i b_Christmas.mp3 -acodec libvorbis -ac 2 -ar 44100 -b:a 48k -map_metadata -1 -y b_Christmas1.ogg

2、PC端测试正常,但在Android中无法正常播放,提示:

libOpenSLES: Error (-2147483648) encountered while prefetching

3、最初以为可能是压缩太狠了导致的,调整后测试下来没什么作用;
对比了一下其他可正常播放的音频,发现该文件在属性中多了这些属性:
在这里插入图片描述
4、经网上查询,发现需要加上-vn可以去除视频部分:

ffmpeg -i b_Christmas.mp3 -acodec libvorbis -vn -ac 2 -ar 44100 -b:a 48k -map_metadata -1 -y b_Christmas1.ogg

5、再打开属性查看后变成这样了:

在这里插入图片描述
虽然视频列表还在,但属性都置空了,打包后Android可以正常播放该音频

参考链接:
如何使用FFmpeg命令处理音视频
使用ffmpeg从视频中提取纯音频&纯视频

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值