Как вы обнаруживаете, когда звуковой файл завершен?
Я воспроизвожу звуковой файл, используя этот код внутри действия вещательного приемника:
notification.sound = Uri.parse("android.resource://emad.app/raw/seven_chimes");
Я хотел бы узнать, когда этот файл закончил воспроизведение.
Я пробовал такой цикл, но я думаю, что это хорошо для медиаплеера, потому что он всегда = false, хотя я убедился, что звуковой файл все еще играет:
/*
* Stay here until the chime sound is finished.
*/
while (manager.isMusicActive()){
}
Можете ли вы показать мне, что я должен использовать вместо manager.isMusicActive()
Спасибо.
Действительно,
Имад
Ответы
Ответ 1
Вы можете использовать класс MediaPlayer и добавить прослушиватель Completion, который будет активирован, когда звук закончит воспроизведение
MediaPlayer mp = MediaPlayer.create(this,Uri.parse("android.resource://emad.app/raw/seven_chimes"));
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
performOnEnd();
}
});
mp.start();
Ответ 2
попробуйте использовать сервис для воспроизведения музыки.
после того, как он будет воспроизводиться один раз, а затем остановите свое обслуживание, и вы можете добавить свою программу в метод onDestroy().
надеюсь, что это поможет:)