Учим Java. Проблемы с аудио контролем - PullRequest
1 голос
/ 27 августа 2011

Я новичок в Java и пытаюсь добавить звук в мое приложение. У меня проблема в том, что музыка запускается, но не останавливается, когда музыкальный метод вызывается во второй раз. Что я делаю не так?

import sun.audio.*;
import java.io.*;

public class sound {
    private static boolean playing = false; 

    @SuppressWarnings("restriction")
    public static void music() {        
        try  {
            // open the sound file as a Java input stream
            String soundFile = "backgroundmusic.wav";
            InputStream in = new FileInputStream(soundFile);

            // create an audiostream from the inputstream
            AudioStream audioStream = new AudioStream(in);

            // play the audio clip with the audioplayer class
            if(playing == false){
                AudioPlayer.player.start(audioStream);
                playing = true;
            }else{
                AudioPlayer.player.stop(audioStream);
                playing = false;
            }
        } catch(IOException error) {}   

        System.out.println(playing);                
    }
}

1 Ответ

3 голосов
/ 27 августа 2011

Каждый раз, когда вы вызываете music(), создается новый поток ввода, поэтому вы работаете с абсолютно разными экземплярами потока между вызовами методов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...