2010-06-04 3 views
1

У меня есть приложение, которое отображает видео с помощью VideoView. Макет состоит из Clock и VideoView, выложенных в простой вертикальной LinearLayout.Android Показывать изображение во время буферизации видео?

Вот мой фрагмент кода, который я использую:

VideoView mVideoView = new VideoView(this); 
mVideoView.setVideoPath(myVideoURL); 
mVideoView.requestFocus(); 
mVideoView.start(); 

Поскольку буферизация видео занимает около 8-10 секунд, макет приходит с часами, но VideoView остается пустым. То, что я хочу, чтобы достичь это:

- помечать ImageView для 10s в то время как видео буферизации - Обнаружение, когда видео готово быть воспроизведено (onPrepared?) - Показать часы и VideoView и начало видео

У кого-нибудь есть указатели на то, как это сделать?

Благодаря Крис

ответ

2

MediaPlayer позволит вам зарегистрировать OnPreparedListener функцию обратного вызова, который вы можете использовать, чтобы определить, когда видео будет готово к запуску. Таким образом, вы сначала показываете свой ImageView вместо своего VideoView, затем, когда ваш callback будет вызван, перейдите в VideoView и начните воспроизведение.

+0

Итак, сделайте ImageView видимым, а затем на подготовленном, сделайте Imageview невидимым и сделайте Clock и VideoView видимыми, а затем вызовите mVideoView.start()? – Chris

+0

@Chris: sure ... – JRL

+3

@JRL: Я использовал 'setOnPrepareListener()', но он работает для буферизации в первый раз, но если видео снова начинает буферизацию, как с этим справиться. Я использовал 'setOnInfoListener()' с 'MediaPlayer', но кажется, что' VideoView' не поддерживает его. Я хочу показывать диалоговое окно каждый раз, когда videoView начинает буферизацию. – Nishant

 Смежные вопросы

  • Нет связанных вопросов^_^