4

基本上,我想要在我的应用程序中做的是显示视频。

实现这一目标的最佳工具似乎是 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 中显示视频的预览?

第二个问题

我想在双击 web 视图时全屏显示视频,我该如何实现?

非常感谢任何帮助/链接/建议

4

2 回答 2

3

是的,您可以使用ThumbnailUtils获取视频缩略图:

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

我之前还没有真正看到应用切换到全屏。我实际上不确定它是否可以完成(尤其是对于 a VideoView)。但是,您可能会对以下方法之一感到幸运:

  1. 按住VideoViewaFrameLayout然后更改其布局参数。
  2. 覆盖VideoView通孔Window#addContentView
  3. 隐藏(通过Visibility.GONE)您的其他视图并允许VideoView扩展其布局区域。
于 2011-04-12T18:45:11.973 回答
0

您可以使用 VideoView.seekTo(milliseconds) 作为替代方案,比如说 1 秒(1000 毫秒)。前提是 1 秒后的视频剪辑确实有图像,例如某些视频从空白屏幕开始,然后“淡入”(缺少更好的词)到场景通常会给您 1 秒的黑屏。您可以在 VideoView.onPrepared() 下调用它。当视频在网络服务器上时,我使用这个。

于 2011-08-09T14:29:55.410 回答