2014-02-19 5 views
0

Я пытаюсь играть звук в моей Java-приложении, но каждый раз, когда я вызываю метод я получаю это исключение: javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 48000.0 Hz, 24 bit, mono, 3 bytes/frame, little-endian not supported.Ошибки при воспроизведении звука в Java

Вот код:

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

Я попытался воспроизвести файл, передав URL-адрес, и он отлично работает, но с моим «ding2.wav» ничего не работает.

Заранее за вашу помощь.

+0

Сообщение об ошибке здесь довольно ясно. – Radiodef

ответ

1

Посмотрев над HERE в справках о, то LineUnavailableException возникает, когда линия не доступна, или запрашиваемый ресурс используется другим приложением,

Убедитесь, что ваш звуковой файл не открыт в любом другом приложении.

EDIT

В сообщении об ошибке говорит: строка с форматом PCM_SIGNED 48000.0 Гц, 24 бит, моно, 3 байта/кадр формат файла вы обеспечиваете не поддерживается. и, как вы сказали я попытался воспроизвести файл, передавая URL и он работает отлично, поставил старый файл обратно и проверьте формат файла с помощью

System.out.println(audio.getFormat()); 

и проверьте, что был формат файла этот файл, будь то тот же, что и выше _line, с форматом PCM_SIGNED 48000.0 Гц, 24 бит, моно, 3 _ или нет,

+0

Просто попробовал, он говорит 'PCM_UNSIGNED 11025.0 Гц, 8 бит, стерео, 2 байта/фрейм. Думаю, мне нужно преобразовать файл «ding2.wav», спасибо за вашу помощь. – Nick0602

Смежные вопросы