Android слушатели событий для аудио - PullRequest
4 голосов
/ 15 мая 2011

Я играю с Android, чтобы изучить API, и пытаюсь написать код активности, которая может прослушивать изменения в аудио событиях. Например, созданная мною игра воспроизводит случайный рингтон при нажатии кнопки. Кнопка отображает текст с надписью «Случайная мелодия», но когда вы нажимаете кнопку, она говорит «Стоп» и нажатие на нее, конечно, прекратит воспроизведение мелодии.

Однако проблема в том, что когда мелодия перестает воспроизводиться сама по себе, кнопка все равно говорит «стоп».

Я оглянулся вокруг, чтобы попытаться найти слушателя событий, который мог бы прослушивать, когда рингтон перестает играть, но, похоже, я не могу его найти. Я видел некоторую информацию о создании ваших собственных слушателей, но я не заинтересован в этом (немного продвинутый для меня сейчас).

Существует ли прослушиватель событий этого типа?

1 Ответ

6 голосов
/ 15 мая 2011

Я могу ошибаться, но я думаю, что единственный класс аудио, который вызывает событие, когда он заканчивает воспроизведение, это класс MediaPlayer. Как-то так должно работать ...

public class MyActivity extends Activity
    implements MediaPlayer.OnCompletionListener {

    MediaPlayer player = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        player = new MediaPlayer();
        player.setOnCompletionListener(this);
        ...
    }

    @Override
    public void onCompletion(MediaPlayer mp) {
        // Called when playback is complete
        ...
    }
}
...