如何在Java中播放声音?

193

我想在我的程序中播放音频文件。我应该去哪里找?


1
看一下这个类:https://github.com/dberm22/DBoard/blob/master/src/com/dberm22/utils/MediaPlayer.java 你可以使用 (new Thread(new MediaPlayer(PATHTOFILE)).start(); 调用它。 - dberm22
12个回答

0

这个帖子可能有点老了,但我发现一个选项可能会很有用。

与其使用Java AudioStream库,您可以使用外部程序,如Windows Media Player或VLC,并通过Java运行控制台命令来实现。

String command = "\"C:/Program Files (x86)/Windows Media Player/wmplayer.exe\" \"C:/song.mp3\"";
try {
    Process p = Runtime.getRuntime().exec(command);
catch (IOException e) {
    e.printStackTrace();
}

这也将创建一个可以在程序中控制的独立进程。

p.destroy();

当然,相对于使用内部库,这将需要更长的执行时间,但是在某些控制台命令下可能会有一些程序可以更快地启动并且可能不需要 GUI。
如果时间不是关键,则此方法非常有用。

5
尽管我认为这是一个客观上不好的解决方案(从可靠性、效率和其他类似的指标来看),但至少它是一个有趣的解决方案,否则我不会想到它! - Max von Hippel

0

我遇到了很多问题来播放mp3文件格式,所以使用了一些在线转换器将其转换为.wav格式。

然后使用下面的代码(这比支持mp3更容易)

try
{
    Clip clip = AudioSystem.getClip();
    clip.open(AudioSystem.getAudioInputStream(GuiUtils.class.getResource("/sounds/success.wav")));
    clip.start();
}
catch (Exception e)
{
    LogUtils.logError(e);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接