Я использую по умолчанию Android Media Player в Activity, пытаясь воспроизвести пару видеофайлов. Однако у меня есть проблема с программированием, что я хочу. Желаемый результат программы будет следующим:Android Media Player Threading/Concurrency
- Видеофайл воспроизводится
- После этого появится диалоговое окно, предлагающее пользователю что-то
- пауза 5 секунд происходит
- Следующий видео показан
- и так далее
Как я могу программировать это? В настоящее время я использую следующую парадигму:
- У меня есть способ, который устанавливает плеер для файла, например.
playVideo(int)
Итак, я передаю ему первый файл. - Когда игрок подготовлен, он будет запущен в
onPrepared(MediaPlayer)
. - Когда видео завершено, слушатель
onCompletion(MediaPlayer)
медиаплеера отображает диалог пользователю, вызываяshowDialog()
. - Пользователь принимает диалоговое окно. Перед вызовом
dismiss()
в диалоговом окне объект игрока запускается для следующего файла, вызываяplayVideo(int)
.
Это работает, но он чувствует себя немного причудливым и не чистым. И это, конечно, очень процедурно. Проблемы:
- , что я не могу понять, как вставить паузу после отклонения диалога.
- , что я, возможно, необходимо изменить порядок представления диалогов и видео, и это не так уж легко теперь
Кто-нибудь есть идея?
Спасибо, однако я делаю все в пределах одной активности сейчас. Новое намерение означало бы запуск новой деятельности, верно? Итак, подведение итогов: это означает, что мне нужно будет показывать только одно видео для запуска активности, в 'onCompletion' видео показывается диалоговое окно, а при запуске' release() 'запускает новый (с задержкой)) Намерение. Это то, о чем вы думали? – slhck