VideoView作物到广场

问题描述:

使用ImageView,我可以设置一个方形的高度和宽度(比如100dip x 100dip)。然后使用android:scaleType="centerCrop"给我一个图像,无论长宽比如何,它都被裁剪成方形。VideoView作物到广场

我们可以用VideoView来做到这一点吗?

我试过只是设置一个方形的高度和宽度,但它只是重新调整大小以尽可能最好地填充正方形,同时保持纵横比,我猜这是完全可以预料的。

它似乎没有任何规模或作物属性/方法不同于ImageView,但这个VideoView文档中让我觉得我失去了一些东西:

[VideoView] ...提供各种显示选项 ,如缩放和着色。

任何想法将不胜感激。

Source暗示它不是在VideoView视图中本机支持的。您可以复制源代码并使其工作。 :)最有可能通过线255添加其他,修改onMeasure以防止其扩大,以满足规模等

编辑: 不要感到惊讶的是,参考文档稍微偏离或只是简单的错误。

+0

甜,谢谢,只是一个耻辱我刚刚结束了这个项目,现在! :) – Andy 2011-08-06 09:07:39

+0

@安迪你试图实现广场视频? – Naz141 2015-11-19 09:57:41

+0

@ Naz141不知道我做了什么。想想我可能已经裁剪了源视频,因为它是用于演示目的。 – Andy 2015-11-19 13:06:54

您使用需要Android API 14和硬件加速的TextureView来实现视频作物效果。我在我的文章here中描述了它。

您还可以使用我的TextureVideoView - 基于android TextureView的自定义视图,可让您轻松播放和裁剪视频。这非常类似于ImageView#setScaleType

布局

<com.dd.crop.TextureVideoView 
     android:id="@+id/cropTextureView" 
     android:layout_width="fill_parent" 
     android:layout_height="100dp"/> 

代码

TextureVideoView cropTextureView = (TextureVideoView) findViewById(R.id.cropTextureView); 
// Use `setScaleType` method to crop video 
cropTextureView.setScaleType(TextureVideoView.ScaleType.TOP); 
// Use `setDataSource` method to set data source, this could be url, assets folder or path 
cropTextureView.setDataSource("http://www.w3schools.com/html/mov_bbb.mp4"); 
cropTextureView.play(); 

希望这会帮助别人!

+0

https://github.com/malmstein/fenster – 2015-12-18 10:34:20