[問題] 播放音檔之間如何控制Button Enable?
問題:
有一按鈕當按鈕按下時,播放音檔且按鈕的狀態要變成不可觸發。當音檔
播放完畢時,將按鈕的狀態變成可觸發。但是,下述程式碼會在音檔播放完成
後才按鈕的狀態變成不可觸發,請問這是為什麼呢?
Code:
btn.setEnabled(false);
playmp3(am, 檔名);
while (mp.isPlaying() == true)
{
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
break;
補充:
上述程式碼是在
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//Code
}
});
---------------------------------------------------------
嘗試:
btn.setEnabled(false);
playmp3(am, 檔名);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
發現按鈕的狀態在設定的3秒後才改變,並非按下按鈕後就立即改變。
================================================================
Sol:
new Thread(new Runnable() {
public void run() {
while (mPlayer.isPlaying()==true) {
try {
Message msg = new Message();
msg.what=0;
handler.sendMessage(msg);
Thread.sleep(500);
} catch (Exception e) {
e.printStackTrace();
}
}
Message msg = new Message();
msg.what=1;
handler.sendMessage(msg);
}
}).start();
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.55.241
※ 編輯: sweet00914 來自: 220.130.55.241 (08/07 17:46)
→
08/07 17:48, , 1F
08/07 17:48, 1F
※ 編輯: sweet00914 來自: 220.130.55.241 (08/07 17:57)
→
08/07 20:26, , 2F
08/07 20:26, 2F
→
08/07 22:24, , 3F
08/07 22:24, 3F
※ 編輯: sweet00914 來自: 114.38.42.45 (08/07 22:27)