我正在尝试在我的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”没有任何效果。
提前感谢您的帮助。
答案 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 _或不,