/ / मुझे अपने गाने को लूप करने के लिए कुछ कोड मिला लेकिन ऐसा करते समय पूरा कार्यक्रम प्रतिक्रिया नहीं देगा [बंद] - जावा, क्रैश, संगीत

मुझे अपने गाने को लूप करने के लिए कुछ कोड मिला, लेकिन ऐसा करते समय पूरा कार्यक्रम प्रतिक्रिया नहीं देगा [बंद] - जावा, क्रैश, संगीत

मुझे पता है कि मैं कुछ पुराने कोड का उपयोग कर रहा हूं, लेकिन मैंने इसे नेट के आसपास पाया और यह इसके पुट्यूज़ के लिए काम करता है। लेकिन फिर यह पूरे कार्यक्रम को अनुत्तरदायी बना देता है।

यहां कोड है:

InputStream music;
int g = 0;

for (int i=2; i==2;g++){
try{
music= new FileInputStream(new File("D:\Hobby\maze game\Achievement and level scheme\Achievements and lvl\song.wav"));
AudioStream audios=new AudioStream(music);
AudioPlayer.player.start(audios);

long start = System.currentTimeMillis();
long end = start + 15240; // 60 seconds * 1000 ms/sec
while (System.currentTimeMillis() < end)
{

}
}
catch (Exception e){
JOptionPane.showMessageDialog(null, e.getLocalizedMessage());
}
}

पूरी बात अंदर है private void formWindowOpened इसलिए यह तुरंत काम करना शुरू कर देता है।

उत्तर:

उत्तर № 1 के लिए 1

आपका पूरा कार्यक्रम अप्रतिसादी हो जाता है, इसका कारण यह है कि जब लूप आपके धागे को रोक रहा है।

इसे ठीक करने का सबसे आसान तरीका एक नया धागा बनाना और वहां से अपना संगीत चलाना है।

new Thread(new Runnable() {
@Override
public void run() {
//play your song here
}
}).start();

ऐसा करने के लिए बेहतर तरीके हैं, जिससे आप उस धागे को दूसरे से नियंत्रित कर सकते हैं, लेकिन मैं आपको उन लोगों को ढूंढने देता हूँ।