我在转换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

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

万分感谢!!!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐