2013-09-08 2 views
0

Я видел этот код где-то в этой области. Я хочу играть в .wav-файл один раз, но не постоянно. Как я могу это сделать? Я пытаюсь удалить линию LOOP_CONTINUUUSLY, но она не работает.Как удалить LOOP_CONTINUUUSLY в Javasound? [code inside]

URL url = new URL("http://pscode.org/media/leftright.wav"); 
          Clip clip = AudioSystem.getClip(); 
          // getAudioInputStream() also accepts a File or InputStream 
          AudioInputStream ais = AudioSystem. 
           getAudioInputStream(url); 
          clip.open(ais); 
          clip.loop(Clip.LOOP_CONTINUOUSLY); 
          SwingUtilities.invokeLater(new Runnable() { 
           public void run() { 
            JOptionPane.showMessageDialog(null, "Close to exit!"); 
           } 
          }); 

И если возможно. Могу ли я играть в mp3-файлы. Потому что, когда я пытаюсь заменить его как mp3, мой код падает. Кроме того, я хочу получить файл с моего компьютера. Не в Интернете. Может кто-нибудь мне помочь?

+0

* "Я видел этот код где-то в этой области. "* Умм .. Я предполагаю, что вы видели его на странице, которую я связал в своем более раннем вопросе, - который теперь кажется, что он удален. В любом случае, это происходит из [Java Sound i NFO. страница] (http://stackoverflow.com/tags/javasound/info), в которой также упоминается MP3 и как его поддерживать. * «Я пытаюсь удалить строку LOOP_CONTINUUUSLY, но она не работает». * Вы действительно попытались взглянуть на документацию по этому методу? Другой ответ, помимо 'start()', должен был быть интуитивно понятным! .. –

+0

.. * «Кроме того, я хочу получить файл с моего компьютера, а не в Интернете». О, ради всего святого! 1) Что означает комментарий этого кода в приведенном ниже фрагменте? 2) Можно создать URL-адрес, который указывает на: a) Место в Интернете; b) файл в локальной файловой системе; c) ресурс, встроенный в файл Jar (хранящийся либо локально, либо в Интернете). –

+0

Я уже решил. Спасибо! Сначала я должен был прочитать. – Kerv

ответ

1
  • Использование clip.start() вместо clip.loop(Clip.LOOP_CONTINUOUSLY)
  • Использование File или getResourceAsStream() вместо URL и кормить его getAudioInputStream так же
  • Посмотреть this question для mp3 файлов
+0

Спасибо! Нужно ли мне скачать один с JAVA FX из oracle? – Kerv

+0

Если вы собираетесь использовать 'javafx.scene.media' для воспроизведения mp3, да. В ссылке, которую я дал, есть и другие ответы, а также альтернативы. –

+0

'getResourceAsStream()' обычно является небуферизованным потоком, тогда как 'AudioSystem' требует буферизованного потока. –