java - 如何用Java播放GSM 6.10压缩文件

标签 java swing audio gsm tritonus

您能否告诉我如何修改这些代码行才能播放某些 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();

谢谢

最佳答案

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

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

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

限制:FFSampledSP 使用 native 库,并且仅适用于 Windows 和 OS X。任何其他平台可能需要大量工作。

或者,您可能想尝试 GSM 6.10 tritons plugin .

关于java - 如何用Java播放GSM 6.10压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25932983/

相关文章:

audio - 播放ima4文件

java - 我可以在同一个 catch 子句中捕获多个 Java 异常吗?

java - 使用 JDBC 和 MySQL 优化大量插入

java - 为单独的类提供通用方法

java - 为什么我的 JList 没有为我提供 java 中 jlist.getSelectedValue() 的值?

audio - FFMPEG - 合并 mp4 文件和音频文件

Java Floodfill 真的很慢

java - 右键 setIcon() 标记炸弹 - 扫雷

java - 返回上一页 图形用户界面

actionscript-3 - 使用byteArray和Adobe Air生成x秒的静音音频文件