Я пытаюсь играть звуковой файл при щелчке кнопки. Звук всего 1 секунда длиной. Это играет хорошо первые несколько раз, я нажимаю кнопку, но через некоторое время это дает a NullPointerException
. Вот код:
button[i].setOnClickListener(new OnClickListener() {
public void onClick(View view) {
mp = MediaPlayer.create(Test.this, R.raw.mysound);
mp.start();
}
});
И вот исключение:
07-29 23:07:27.690: ERROR/AndroidRuntime(10542): Uncaught handler: thread main exiting due to uncaught exception
07-29 23:07:27.710: ERROR/AndroidRuntime(10542): java.lang.NullPointerException
07-29 23:07:27.710: ERROR/AndroidRuntime(10542): at com.example.mypackage.Test$3.onClick(Test.java:270)
Это может решить вашу проблему,
button[i].setOnClickListener(new OnClickListener() {
public void onClick(View view) {
new Thread(){
public void run(){
mp = MediaPlayer.create(Test.this, R.raw.mysound);
mp.start();
}.start();
}
});
Спасибо за ваши ответы! Ценю это!
Вот как мне наконец удалось заставить его работать:
button[i].setOnClickListener(new OnClickListener() {
public void onClick(View view) {
mp = MediaPlayer.create(Test.this, R.raw.mysound);
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.release();
}
});
mp.start();
}
});