1
我想用多個按鈕編寫Android Soundboard。每個按鈕應播放不同的聲音。Android Soundboard一次只有一個聲音
我對每個按鈕一個OnClickListener:
buttonAlan.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
playSound("alan");
}
});
每個按鈕被調用以下函數。
private void playSound(String sound) {
int path = getResources().getIdentifier(sound, "raw", getPackageName());
mediaplayer = MediaPlayer.create(this, path);
try {
mediaplayer.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mediaplayer.start();
}
音板的工作,但每次你點擊一個按鈕,它會一遍又一遍播放聲音。我需要媒體播放器停止播放,但每次我寫mediaplayer.stop()之類的東西時,該應用程序根本無法工作。 任何建議我應該改變我的功能/代碼?
你能告訴我什麼是「背景」嗎?它是否與我的MainActivity的名稱有關? – Stef
只是說:[什麼是上下文](http://stackoverflow.com/questions/3572463/what-is-context-in-android) 。如果你在一個活動內,你可以使用「this」或「getContext()」作爲上下文,如果將它移動到其他類中,則必須傳遞調用活動的上下文(這對於例如有權訪問資源是必需的) – stamanuel
非常感謝!那就是訣竅。現在,只要按下按鈕,我就必須停止播放聲音池。 – Stef