Звук воспроизводится даже после закрытия приложения на Java ⇐ JAVA
-
Anonymous
Звук воспроизводится даже после закрытия приложения на Java
Итак, я делаю игру на Java и хочу добавить в свое приложение фоновую музыку. Итак, я создал класс SoundManager и написал туда этот код:
Менеджеры пакетов; импортировать java.io.File; импортировать java.net.URL; импортировать javax.sound.sampled.AudioInputStream; импортировать javax.sound.sampled.AudioSystem; импортировать javax.sound.sampled.Clip; импортировать Main.Game; публичный класс SoundManager { ClickManager см; Клип С; общественный SoundManager (ClickManager см) { this.cm = см; } public void setFile (имя строки) { пытаться { Файл файл = новый файл (имя); AudioInputStream ais = AudioSystem.getAudioInputStream(файл); c = AudioSystem.getClip(); c.open(ais); }catch(Исключение е) {} } публичный недействительный цикл() { c.loop(c.LOOP_CONTINUOUSLY); } общественная недействительная остановка () { c.стоп(); в.закрыть(); } общественная недействительная игра () { c.setFramePosition(0); в.старт(); } } Я использую этот класс как для звуковых эффектов, так и для фоновой музыки. Звуковой эффект вроде работает нормально, но когда я пытаюсь реализовать фоновую музыку с помощью этого кода:
cm.sm.setFile("/Game/res/sound/bg.wav"); см.см.играть(); см.см.петля //cm и sm — названия классов Моя фоновая музыка воспроизводится должным образом и зацикливается. Но когда я закрываю окно, я все равно слышу фоновую музыку. Я думаю, что он должен автоматически останавливаться при закрытии окна. Но мне нужно перезагрузить компьютер, чтобы звук прекратился
Итак, я делаю игру на Java и хочу добавить в свое приложение фоновую музыку. Итак, я создал класс SoundManager и написал туда этот код:
Менеджеры пакетов; импортировать java.io.File; импортировать java.net.URL; импортировать javax.sound.sampled.AudioInputStream; импортировать javax.sound.sampled.AudioSystem; импортировать javax.sound.sampled.Clip; импортировать Main.Game; публичный класс SoundManager { ClickManager см; Клип С; общественный SoundManager (ClickManager см) { this.cm = см; } public void setFile (имя строки) { пытаться { Файл файл = новый файл (имя); AudioInputStream ais = AudioSystem.getAudioInputStream(файл); c = AudioSystem.getClip(); c.open(ais); }catch(Исключение е) {} } публичный недействительный цикл() { c.loop(c.LOOP_CONTINUOUSLY); } общественная недействительная остановка () { c.стоп(); в.закрыть(); } общественная недействительная игра () { c.setFramePosition(0); в.старт(); } } Я использую этот класс как для звуковых эффектов, так и для фоновой музыки. Звуковой эффект вроде работает нормально, но когда я пытаюсь реализовать фоновую музыку с помощью этого кода:
cm.sm.setFile("/Game/res/sound/bg.wav"); см.см.играть(); см.см.петля //cm и sm — названия классов Моя фоновая музыка воспроизводится должным образом и зацикливается. Но когда я закрываю окно, я все равно слышу фоновую музыку. Я думаю, что он должен автоматически останавливаться при закрытии окна. Но мне нужно перезагрузить компьютер, чтобы звук прекратился
Мобильная версия