मुझे पता है कि मैं कुछ पुराने कोड का उपयोग कर रहा हूं, लेकिन मैंने इसे नेट के आसपास पाया और यह इसके पुट्यूज़ के लिए काम करता है। लेकिन फिर यह पूरे कार्यक्रम को अनुत्तरदायी बना देता है।
यहां कोड है:
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();
ऐसा करने के लिए बेहतर तरीके हैं, जिससे आप उस धागे को दूसरे से नियंत्रित कर सकते हैं, लेकिन मैं आपको उन लोगों को ढूंढने देता हूँ।