VideoView视频播放宽高比例自适应:
videoView.setOnPreparedListener(object : MediaPlayer.OnPreparedListener {
override fun onPrepared(mp: MediaPlayer) {
// 计算视频的宽高比例来修改videoView的大小
calculateView(videoView,mp.videoWidth,mp.videoHeight)
// 准备好自动播放
videoView.start()
}
})
private fun calculateView(videoView:VideoView,videoWidth: Int,videoHeight:Int){
var videoViewWidth = videoView.width
var videoViewHeight = videoView.height
if(videoWidth < videoViewWidth && videoHeight >= videoViewHeight){
var rate:Float = videoHeight.toFloat()/videoWidth.toFloat()
var newvideoWidth = videoViewHeight/rate
reSetVideoViewWidth(videoView,newvideoWidth.toInt())
}else if(videoWidth > videoViewWidth && videoHeight >= videoViewHeight){
var rate:Float = videoHeight.toFloat()/videoWidth.toFloat()
var newvideoWidth = videoViewHeight/rate
reSetVideoViewWidth(videoView,newvideoWidth.toInt())
}
}
private fun reSetVideoViewWidth(videoView:VideoView,newWidth:Int){
var lp = videoView.layoutParams
lp.width = newWidth;
videoView.layoutParams = lp
}
该博客介绍了如何使用VideoView在Android中实现视频播放的宽高比例自适应。通过监听OnPreparedListener,在视频准备就绪后计算视频的宽高比,并调整VideoView的宽度以保持原始比例。代码中包含了重新设置VideoView宽度的方法,确保视频在不同尺寸的屏幕上正确显示。
5381

被折叠的 条评论
为什么被折叠?



