Как воспроизвести несколько аудиоклипов (не одновременно) в апплете? - PullRequest
1 голос
/ 23 апреля 2019

Мне нужна помощь в воспроизведении музыки в моем коде Java.Прямо сейчас я использую метод mouseClicked в моем JApplet, и каждый раз, когда я нажимаю на определенную локацию, музыка из файла wav должна воспроизводиться.Но когда я запускаю апплет, будет воспроизводиться только первый объект, на который я нажму, после того, как ничего не будет воспроизведено, и я не смогу выйти из апплета (я должен принудительно выйти)

Я уже пытался использовать clip.stop()метод после того, как он воспроизводится, и после его использования звук не воспроизводится вообще.

это мой код в моем классе для воспроизведения музыки, который прикреплен к моему JApplet.

public void playMusic() 

{

try{

File file = new File("island_music_x.wav");

        Clip clip = AudioSystem.getClip();

        clip.open(AudioSystem.getAudioInputStream(file));
        clip.start();
        Thread.sleep(clip.getMicrosecondLength());
    }
    catch(Exception e)
    {
        System.err.println(e.getMessage());
    } 
 }

это код объекта, который должен быть нажат в моем апплете для воспроизведения музыки.

xpos5 = me.getX();

ypos5 = me.getY();

if

(xpos5 > rect5xco && xpos5 < rect5xco+rect5width && ypos5 > 
    rect5yco && ypos5 < rect5yco+rect5height)

rect5Clicked = true;

else

rect5Clicked = false;

когда для него установлено значение true, у меня есть код для воспроизведения музыки

if
(rect5Clicked == true)
 {
     try{
     m5.playMusic5();}
     catch (Exception e)
     {}
 }

Когда я нажимаю на объект, предполагается, что музыка воспроизводится, что происходит, однако;Я должен иметь возможность нажимать на другие объекты после первого и играть музыку.Но музыка играет только в первый раз.Я также не могу выйти из окна просмотра апплетов.Любая помощь будет здорово, спасибо !!

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