From 43c5b9f28e0aedb6e652be8b6f797acba6d9c77a Mon Sep 17 00:00:00 2001 From: "J. Neugebauer" Date: Sat, 9 Jul 2022 21:01:01 +0200 Subject: [PATCH] Fehler beim erstellen eines AudioStreams behoben --- src/schule/ngb/zm/media/Music.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/schule/ngb/zm/media/Music.java b/src/schule/ngb/zm/media/Music.java index 1c53ba7..fa03cf3 100644 --- a/src/schule/ngb/zm/media/Music.java +++ b/src/schule/ngb/zm/media/Music.java @@ -4,8 +4,10 @@ import schule.ngb.zm.tasks.TaskRunner; import schule.ngb.zm.util.ResourceStreamProvider; import javax.sound.sampled.*; +import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; +import java.net.URL; import java.util.logging.Level; import java.util.logging.Logger; @@ -154,9 +156,9 @@ public class Music implements Audio { } try { - InputStream in = ResourceStreamProvider.getResourceStream(audioSource); - if( in != null ) { - final AudioInputStream inStream = AudioSystem.getAudioInputStream(in); + URL url = ResourceStreamProvider.getResourceURL(audioSource); + if( url != null ) { + final AudioInputStream inStream = AudioSystem.getAudioInputStream(url); AudioFormat format = inStream.getFormat(); final int ch = format.getChannels(); @@ -185,11 +187,17 @@ public class Music implements Audio { } private void streamingStopped() { - playing = false; dispose(); if( looping ) { - playOnce(); + if( openLine() ) { + stream(); + } else { + playing = false; + looping = false; + } + } else { + playing = false; } }