【问题标题】:VideoView: Fullscreen on doubleTapVideoView:双击时全屏
【发布时间】:2012-09-09 17:52:11
【问题描述】:

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

实现这一目标的最佳工具似乎是 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 视图时全屏显示视频,我该如何实现?

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

【问题讨论】:

  • 你能抓住双击网页视图并开始一个全屏的新活动吗?

标签: android android-videoview


【解决方案1】:

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

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

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

  1. VideoView 保存在FrameLayout 中,然后更改其布局参数。
  2. 通过Window#addContentView覆盖VideoView
  3. 隐藏(通过Visibility.GONE)您的其他视图并允许VideoView 扩展其布局区域。

【讨论】:

【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多