java 转换音频格式_音频格式转换

在尝试将录音从PCM_SIGNED44100.0Hz格式转换为ULAW8000.0Hz格式时遇到问题。当前使用的Java代码在转换过程中抛出了IllegalArgumentException异常,寻求解决方案。

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

我在转换WAV文件的音频格式时遇到麻烦。

我正在从麦克风录制声音,并且声音以以下格式录制:PCM_SIGNED 44100.0 Hz,16位,单声道,2字节/帧

我想将上述格式转换为ULAW 8000.0 Hz,8位,单声道,1字节/帧

我正在使用以下代码,

InputStream is = request.getInputStream();

AudioInputStream ais = AudioSystem.getAudioInputStream(is);

AudioFormat oldFormat = ais.getFormat();

AudioFormat newFormat = new AudioFormat(AudioFormat.Encoding.ULAW, 8000, 8, 1, 1, 8000, false) ;

AudioInputStream lowResAIS = AudioSystem.getAudioInputStream(newFormat, ais); //Getting the below Exception on this line

我收到以下错误,

java.lang.IllegalArgumentException:不支持的转换:ULAW 8000.0

Hz,8位,单声道,1字节/帧,来自PCM_SIGNED 44100.0 Hz,16位,单声道,2字节/帧,little-endian

有人可以帮我解决这个问题!!!

万分感谢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值