यदि आप एक बड़ा आवेदन चला रहे हैं, तो यह उत्तर लागू नहीं हो सकता है। लेकिन कोड के उस टुकड़े के साथ एक साधारण परीक्षण के लिए, यह सहायता:
क्लिप.लोप() यह अपना स्वयं का धागा शुरू करता है, लेकिन वह धागा JVM को जीवित नहीं रखेगा। तो इसे काम करने के लिए, सुनिश्चित करें कि क्लिप एकमात्र धागा नहीं है।
अगर मैं इस स्निपेट से थ्रेड.sleep (..) छोड़ देता हूं, तो मुझे आपके जैसा ही समस्या मिलती है;
import java.io.File;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
public class Snippet {
public static void main(String[] args) throws Exception {
AudioInputStream inputStream = AudioSystem.getAudioInputStream(new File("notify.wav"));
Clip clip = AudioSystem.getClip();
clip.open(inputStream);
clip.loop(Clip.LOOP_CONTINUOUSLY);
Thread.sleep(10000); // looping as long as this thread is alive
}
}
क्या आपने लूप() को खोलने से पहले() किया है? मैंने कोशिश नहीं की है लेकिन यह काम कर सकता है। –
मैंने अभी इसे आजमाया है और ऐसा लगता है ... क्या आप कोशिश ब्लॉक में कोई अपवाद पकड़ रहे हैं जो इस कोड को कम करना चाहिए? – Timst
हाय, मैंने यह भी कोशिश की और यह काम करता है। क्या आपके पास पहले लूप के बाद कुछ अपवाद है? – hudi