Java 将 MP3 音频输入流转换为 µ-law

问题描述

我有一个 MP3 音频文件,我必须将其转换为 µ-law (8000/mulaw) base64 编码字符串。我尝试了不同的方法,但我无法解决这个问题。但从一开始:

基于 mp3spi,我们可以将 MP3 文件读取到 AudioInputStream

<dependency>
  <groupId>com.googlecode.soundlibs</groupId>
  <artifactId>mp3spi</artifactId>
  <version>1.9.5.4</version>
</dependency>

这里是我尝试使用的代码

AudioFormat TARGET_FORMAT = new AudioFormat(
                AudioFormat.Encoding.ULAW,8000,// Samplerate
                8,// quantization
                1,// mono
                1,false);
AudioInputStream mp3Stream = AudioSystem.getAudioInputStream(mp3Data);
AudioInputStream converted = AudioSystem.getAudioInputStream(TARGET_FORMAT,mp3Stream);
String content = Base64.getEncoder().encodetoString(converted.readAllBytes());

不幸的是,生成的结果不适用于目标系统。 目标系统本身正在工作,如果我只使用波形文件,一切都很好。

有人有解决方案吗?

问候托马斯

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...