您能否告诉我如何修改这些代码行以便能够播放一些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();
由于
答案 0 :(得分: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 plugin。