2014-01-12 2 views
-1

Я создал программу, в которой я могу воспроизвести песню. Однако я не могу заставить ее приостановить/остановить, и когда я снова нажимаю кнопку воспроизведения, петля снова и снова повторяется. Как я могу заставить песню остановиться или остановиться?Как приостановить/остановить песню, которая воспроизводится?

Вот мой исходный код ниже, чтобы играть песню:.

public void sound(String nm) { 
    AudioStream BGM; //Backround Music 

    try { 
     InputStream test = new FileInputStream("./"+nm+".wav"); 
     BGM = new AudioStream(test); 

     AudioPlayer.player.start(BGM); 

    } 
    catch (IOException error) { 
      JOptionPane.showMessageDialog(null, error.getMessage()); 
    } 
} 
+0

Какая кнопка воспроизведения? В вашем коде нет элементов интерфейса. –

+0

Я читал документацию класса 'AudioPlayer.player'. Мы не знаем, что это за класс, поэтому мы не можем помочь. –

+1

Чтобы лучше помочь, опубликуйте [MCVE] (http://stackoverflow.com/help/mcve). Из прошлого опыта, я думаю, 'AudioPlayer' находится в пакетах' sun.com'? Они недокументированы, нельзя полагаться на не-Oracle JRE или даже на следующую версию Oracle JRE. ** Не используйте их. ** Вместо этого используйте Java Sound на основе ['Clip'] (http://docs.oracle.com/javase/7/docs/api/javax/sound/sampled/Clip.html) для воспроизведения коротких звуков. См. [Info. страница] (http://stackoverflow.com/tags/javasound/info) для краткого примера. Ознакомьтесь с документами Java для 'Clip' (ранее в комментарии), как их остановить. –

ответ

0

Я предполагаю вы используете this example, который использует sun.audio * пространства имен.

Как вы можете видеть из source code, если вы хотите остановиться, вы можете использовать AudioPlayer.player.stop(BGM); с той же ссылкой, что и параметр, используемый для игры.

0

Ваш ответ может быть в классе AudioPlayer. загляните в него - возможно, есть функция паузы() и stop().