VideoView:双击全屏

4

我想在我的应用程序中展示一个视频。

实现这个目标的最佳工具似乎是VideoView。

因此,我使用了以下代码:

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

在我的Activity中:

 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中显示视频的预览图像?

第二个问题

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

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


你能否在Webview上捕获双击事件并启动一个全屏的新活动? - Ian
2个回答

3

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

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

我以前没有看到过应用程序切换到全屏模式。我不确定是否可以实现这一点(特别是对于VideoView)。然而,你可以尝试以下方法之一:

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

看起来我遇到了与这个问题相同的问题:http://stackoverflow.com/questions/5321853/java-lang-noclassdeffounderror-android-media-thumbnailutils在你自己的答案后面也描述了这个错误(我应该先读一下,哈哈),由用户555806发布:https://dev59.com/oFXTa4cB1Zd3GeqPxgKe无法获取缩略图..我会尝试进行调查。 - Waza_Be
您必须针对Android-8(Froyo)或更高版本才能访问此类。 - Matthew

0

你可以使用VideoView.seekTo(毫秒)作为替代方法,比如1秒(1000毫秒)。前提是视频剪辑在1秒后确实有图像,就像一些视频从空白屏幕开始,然后“淡入”(缺乏更好的词语)到一个场景,更常见的情况是会给你一个黑屏1秒钟。您可以在VideoView.onPrepared()下调用此函数。当视频位于Web服务器上时,我使用这个。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接