VideoView: полноэкранный режим на DoubleTap - PullRequest
4 голосов
/ 12 апреля 2011

По сути, в моем приложении я хочу показать видео.

Лучший инструмент для достижения этой цели - VideoView.

Поэтому я использовал этот код:

<VideoView android:id="@+id/videoview" android:layout_width="50dip" android:layout_height="50dip"></VideoView>

и в моей деятельности:

 VideoView videoHolder = (VideoView)findViewById(R.id.videoview);
 videoHolder.setMediaController(new MediaController(this));
 videoHolder.setVideoURI(Uri.parse("android.resource://com.blabla.blabla/" + R.raw.blabla));
 videoHolder.requestFocus(); 
 videoHolder.start(); 

и это делает трюк.

К сожалению, я ожидал предварительного просмотра (миниатюры) видео в моем макете по умолчанию

Итак, я удалил videoHolder.start (); команда, но я могу получить только черный экран. Видео начинается при нажатии на невидимую зону ...

Первый вопрос

Можно ли отобразить предварительный просмотр видео в VideoView перед его запуском?

Второй вопрос

Я бы хотел отобразить видео в полноэкранном режиме при двойном нажатии веб-просмотра. Как этого добиться?

Большое спасибо за любую помощь / ссылку / предложение

Ответы [ 2 ]

3 голосов
/ 12 апреля 2011

Да, вы можете получить миниатюры видео, используя ThumbnailUtils :

Bitmap thumb = ThumbnailUtils.createVideoThumbnail(path,
    MediaStore.Images.Thumbnails.MINI_KIND);

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

  1. Удерживание VideoView в FrameLayout и изменение его параметров макета.
  2. Наложение VideoView через Window#addContentView.
  3. Скрытие (через Visibility.GONE) других ваших видов и разрешение VideoView для расширения области макета.
0 голосов
/ 09 августа 2011

Вы можете использовать VideoView.seekTo (миллисекунды) в качестве альтернативы, скажем, 1 секунду (1000 миллисекунд). При условии, что у видеоклипа через 1 секунду действительно есть изображение, как некоторые видео начинаются с пустого экрана, тогда «постепенное появление» (отсутствие лучшего слова) для сцены чаще дает черный экран с 1 секундой. Вы можете вызвать это в VideoView.onPrepared (). Это я использую, когда видео находится на веб-сервере.

...