Android - играет звук на нажатии кнопки - Исключение нулевого указателя

Я пытаюсь играть звуковой файл при щелчке кнопки. Звук всего 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)
42
задан Buddy 2 September 2015 в 17:23
поделиться

2 ответа

Это может решить вашу проблему,

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();
    }
});
4
ответ дан 26 November 2019 в 23:21
поделиться

Спасибо за ваши ответы! Ценю это!

Вот как мне наконец удалось заставить его работать:

            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();
                }

            });
101
ответ дан 26 November 2019 в 23:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: