1

你能告诉我如何修改这些代码行来播放一些 GSM 文件吗?

File audioFile = new File(audioFilePath);
AudioInputStream audioStream = AudioSystem.getAudioInputStream(audioFile);
AudioFormat format = audioStream.getFormat();
AudioFormat format = audioStream.getFormat();
DataLine.Info info = new DataLine.Info(Clip.class, format);
Clip audioClip = (Clip) AudioSystem.getLine(info);
audioClip.open(audioStream);
audioClip.start();
audioClip.close();
audioStream.close();

谢谢

4

1 回答 1

2

您需要为 GSM 安装 java 声音服务提供程序。 FFSampledSP可以工作(通过FFmpeg)。

安装它,然后,要获得 PCM 流,您可能需要像这样转换 GSM 流:

    AudioInputStream gsmStream = AudioSystem.getAudioInputStream(new File("audio.gsm"));
    AudioInputStream pcmStream = AudioSystem.getAudioInputStream(AudioFormat.Encoding.PCM_SIGNED, gsmStream);

限制:FFSampledSP 使用本机库,仅适用于 Windows 和 OS X。任何其他平台可能需要相当多的工作。

或者,您可能想尝试GSM 6.10 tritons 插件

于 2014-09-26T12:31:26.847 回答