HarmonyOS鸿蒙Next中视频拉伸模式咨询

HarmonyOS鸿蒙Next中视频拉伸模式咨询 使用AVPlayer+xcomponet播放视频时遇到拉伸模式适配的问题 参考文档https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-media-V5#videoscaletype9中 VideoScaleType 仅支持2中类型

  • VIDEO_SCALE_TYPE_FIT 0 默认比例类型,视频拉伸至与窗口等大。
  • VIDEO_SCALE_TYPE_FIT_CROP 1 保持视频宽高比拉伸至填满窗口,内容可能会有裁剪。

有没有提供按照容器区域,保持宽高比拉伸至窗口宽适配最长边,缩放后的宽和高都不会超过显示区域的适应模式,多的部分留黑边


更多关于HarmonyOS鸿蒙Next中视频拉伸模式咨询的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

可以根据视频的宽高比来动态设置XComponent持有Surface的显示区域

通过AVPlayer的GetVideoWidth,GetVideoHeight获取视频源宽高属性,计算需要的等比缩放模式,基于缩放模式用setXComponentSurfaceRect方法调整XComponent持有Surface的大小和位置。

参考:参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-xcomponent-V5#setxcomponentsurfacerect12

更多关于HarmonyOS鸿蒙Next中视频拉伸模式咨询的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,视频拉伸模式主要通过VideoComponentscaleMode属性进行控制。scaleMode属性用于设置视频的缩放模式,常见的模式包括:

  1. ScaleMode.FIT:视频按比例缩放以适应容器,可能会有黑边。
  2. ScaleMode.FILL:视频拉伸以填充整个容器,可能会导致视频变形。
  3. ScaleMode.CROP:视频按比例缩放并裁剪以适应容器,可能会裁剪掉部分内容。

这些模式可以通过代码直接设置,例如:

videoComponent.scaleMode = ScaleMode.FILL;

开发者可以根据需求选择合适的拉伸模式,以确保视频在不同设备上显示效果最佳。

在HarmonyOS(鸿蒙Next)中,视频拉伸模式通常用于调整视频播放时的画面比例,以适应不同的屏幕尺寸或用户需求。常见的拉伸模式包括:

  • 原始比例(Original):保持视频的原始宽高比,不进行任何拉伸或压缩。
  • 全屏拉伸(Full Screen):将视频拉伸至全屏,可能会改变视频的原始比例。
  • 等比拉伸(Aspect Fit):保持视频的宽高比,同时尽可能填充屏幕,可能会在屏幕两侧或上下留有黑边。

开发者可以通过VideoPlayer组件的相关API来设置视频的拉伸模式,确保视频在不同设备上获得最佳显示效果。具体实现可参考鸿蒙开发者文档。

回到顶部