videoView强制拉伸视频
时间: 2023-07-17 15:04:13 浏览: 44
要在Android上强制拉伸视频,你可以使用VideoView的setOnPreparedListener方法,并在准备好播放时设置视频的宽高比。下面是一个示例代码:
```java
VideoView videoView = findViewById(R.id.videoView);
videoView.setVideoURI(Uri.parse("your_video_uri"));
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
// 获取视频宽度和高度
int videoWidth = mp.getVideoWidth();
int videoHeight = mp.getVideoHeight();
// 获取VideoView的宽度和高度
int viewWidth = videoView.getWidth();
int viewHeight = videoView.getHeight();
// 计算宽高比
float ratio = (float) viewWidth / videoWidth;
// 设置视频拉伸
mp.setVideoScalingMode(MediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
ViewGroup.LayoutParams layoutParams = videoView.getLayoutParams();
layoutParams.width = viewWidth;
layoutParams.height = (int) (videoHeight * ratio);
videoView.setLayoutParams(layoutParams);
}
});
videoView.start();
```
请将"your_video_uri"替换为你的视频URI,以及将R.id.videoView替换为你的VideoView的ID。这样,当视频准备好播放时,它将被拉伸以适应VideoView的宽度,并保持原始宽高比。