android - VideoView裁剪成正方形

标签 android video crop android-videoview

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

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

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

ImageView 不同,它似乎没有任何缩放或裁剪属性/方法,但是 VideoView 文档中的这个让我觉得我遗漏了一些东西:

[VideoView] ...provides various display options such as scaling and tinting.

任何想法将不胜感激。

最佳答案

您使用 TextureView 获得视频裁剪效果这需要 Android API 14 和硬件加速。我在我的文章中描述过 here .

您也可以使用我的 TextureVideoView - 基于 android TextureView 的自定义 View ,让您能够轻松播放和裁剪视频。这与 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();

希望这会对某人有所帮助!

关于android - VideoView裁剪成正方形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4409950/

相关文章:

android - 获取 MessageDigest 可以使用的所有算法?

MATLAB:如何从图像中裁剪出一个圆圈

jquery - 使 Jcrop 跟踪器在裁剪旋转图像时不旋转

android - 如何裁剪矩形区域?

android - 在一个应用程序中结合 Xamarin 和 React Native

android - Android 4.3 以上的 HLS 播放问题

html - 在 Chrome 中为 <video> 标签添加边框半径

video - 检测 "faststart"是否已应用于视频

image - 每当未成功创建缩略图时,强制 ffmpeg 以错误代码退出

java - 使用新参数在循环中创建新线程