在Java中播放声音时出错

时间:2014-02-19 17:22:11

标签: java audio wav playback

我正在尝试在我的Java应用程序中播放声音,但每次调用该方法时都会出现此异常:javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 48000.0 Hz, 24 bit, mono, 3 bytes/frame, little-endian not supported.

以下是代码:

    AudioInputStream audio = AudioSystem.getAudioInputStream(new File("src/media/ding2.wav"));
    Clip clip = AudioSystem.getClip();  
    clip.open(audio);
    clip.start();

我尝试通过传递一个URL来播放文件,但它工作正常,但是我的“ding2.wav”没有任何效果。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

通过在Documention中查看HERE,如果该行不可用,或者另一个应用程序正在使用所请求的资源,则会出现LineUnavailableException,

确保您的音频文件未在任何其他应用程序中打开。

修改

如错误消息所示:行格式为PCM_SIGNED 48000.0 Hz,24位,单声道,3字节/帧 不支持您提供的文件格式。 正如你所说我尝试通过传递一个URL播放文件,它可以正常工作, 将旧文件放回原位并使用

检查文件格式
System.out.println(audio.getFormat());

并检查该文件的文件格式是什么,是否与上述_line相同,格式为PCM_SIGNED 48000.0 Hz,24 bit,mono,3 _或不,