Android 视频视图裁剪到正方形
使用Android 视频视图裁剪到正方形,android,video,crop,android-videoview,Android,Video,Crop,Android Videoview,使用图像视图,我可以设置正方形的高度和宽度(比如说100dip x 100dip)。然后使用android:scaleType=“centerCrop”给我一个图像,不管纵横比如何,它都会被裁剪成正方形 我们可以用视频视图来实现这一点吗 我试着只设置一个正方形的高度和宽度,但它只是重新调整大小,以尽可能地填充正方形,同时保持纵横比,我想这是完全可以预期的 与ImageView不同,它似乎没有任何缩放或裁剪属性/方法,但VideoView文档中的这一点让我觉得我遗漏了一些东西: [VideoVie
图像视图
,我可以设置正方形的高度和宽度(比如说100dip x 100dip)。然后使用android:scaleType=“centerCrop”给我一个图像,不管纵横比如何,它都会被裁剪成正方形
我们可以用视频视图
来实现这一点吗
我试着只设置一个正方形的高度和宽度,但它只是重新调整大小,以尽可能地填充正方形,同时保持纵横比,我想这是完全可以预期的
与ImageView
不同,它似乎没有任何缩放或裁剪属性/方法,但VideoView
文档中的这一点让我觉得我遗漏了一些东西:
[VideoView]…提供各种显示选项
例如缩放和着色
任何想法都将不胜感激。意味着它在VideoView中不受本机支持。您可以复制源代码并使其正常工作。:)最有可能的方法是在第255行添加一个else,修改onMeasure以防止其扩展以满足大小,等等
编辑:
参考文档有点不对劲或完全错了,不要感到惊讶。您可以使用Android API 14和硬件加速来实现视频裁剪效果。我在文章中对此进行了描述 您还可以使用基于android的my-custom视图
TextureView
,这使您能够轻松播放和裁剪视频。这与ImageView#setScaleType
布局
<com.dd.crop.TextureVideoView
android:id="@+id/cropTextureView"
android:layout_width="fill_parent"
android:layout_height="100dp"/>
希望这能帮助别人 亲爱的,谢谢,真遗憾我刚刚结束了这个项目@“安迪,你有没有试着制作方形视频?@Naz141,我也不确定。我想我可能剪切了源视频,因为它是为了演示。
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();