0
我希望我的應用程序中播放每當用戶進行輸入的EditText領域的聲音。希望這會產生一種錯覺,即只要按下按鍵,鍵盤就會發出聲音。播放聲音 - 安卓
我給此特定事件代碼lookes這樣的:
package com.textField.android;
公共類的TextField延伸活動{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final EditText edittext = (EditText) findViewById(R.id.edittext);
final MediaPlayer mp = MediaPlayer.create(getBaseContext(),
R.raw.pistol);
edittext.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
mp.start();
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.release();
}
});
}
}); }}
我可以安裝和打開應用程序就好了,我可以輸入一個字母,它播放聲音,但按下了第二個字母的應用程序崩潰時。我不知道什麼是錯的。無論我做多少次,旋轉我的設備都會播放聲音。所以在旋轉時它會再次播放聲音。但是,然後按一個鍵,應用程序崩潰而沒有播放聲音。
有人可以幫助我得到這個權利?這將是非常讚賞:)
嘗試從崩潰添加一些logcat的輸出。這對發現導致崩潰的原因至關重要。 – Klaus 2011-03-16 08:57:17
感謝您的意見。我對編程相當陌生,我如何添加它? :) – 2011-03-16 11:45:16
啊,LogCat太重要了!它會列出你得到的例外,導致你的崩潰。 http://stackoverflow.com/questions/3280051/how-to-enable-logcat-in-eclipse內容涵蓋啓用logcat的。然後,你可以檢查logcat的窗口,當你崩潰 - 它甚至可以讓你通過E(異常或錯誤,不知道)過濾器。有人可能可以在沒有LogCat輸出的情況下找出這個問題,但是無論如何你都會希望將其設置爲以後使用。 http://developer.android.com/reference/android/util/Log.html也值得一試。 – Klaus 2011-03-16 11:49:37