На некоторых телефонах звуки отключаются рано - PullRequest
3 голосов
/ 06 сентября 2010

Я разработчик приложения для Soundboard. Многие пользователи сообщали мне, что в их телефонах некоторые звуки отключались рано. У меня есть Nexus One и HTC Tattoo, и все работает отлично, я никогда не замечал отключение в своих телефонах.

Это мой код для аудио части:

Во-первых, у меня есть объект MediaPlayer в моем основном классе:

private MediaPlayer mp = null;

И когда я нажимаю кнопку, это код:

    private OnClickListener onClickSound = new OnClickListener() {

    public void onClick(View v) {
        if(mp != null){
            mp.stop();
            mp.release();
            mp = null;
        }

        mp = MediaPlayer.create(getBaseContext(), mp3id));
        mp.start();
        mp.setOnCompletionListener(completionListener);
    }
};

И это доработка прослушивателя:

    MediaPlayer.OnCompletionListener completionListener = new MediaPlayer.OnCompletionListener(){

    public void onCompletion(MediaPlayer mediaP) {
        if(mp != null && !mp.isPlaying()){
            mp.stop();
            mp.release();
            mp = null;
        }
    }

};

Ребята, у вас есть какие-либо подсказки?

Привет

1 Ответ

2 голосов
/ 06 сентября 2010

Вы начинаете играть до того, как проигрыватель загрузит все медиа.Используйте setOnPreparedListener для запуска только после того, как игрок готов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...