HarmonyOS AVScreenCapture在横竖屏旋转时,如何抓出横屏和竖屏的视频帧?

参考(https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/using-avscreencapture-for-buffer-V5)。

1、页面EntryAbility的 “orientation”:“auto\_rotation”

2、视频信息配置如下:

OH_VideoCaptureInfo videocapinfo = {
  .videoFrameWidth = 720, .videoFrameHeight = 1280, .videoSource = OH_VIDEO_SOURCE_SURFACE_RGBA
};

3、当前手机是竖屏,开启抓屏。OnBufferAvailable 中回调的video宽为768,高为1280。

4、旋转手机为横屏,并调用OH\_AVScreenCapture\_SetCanvasRotation设置录屏屏幕数据旋转。但是OnBufferAvailable中回调的video仍然为宽为768,高为1280。且视频帧的上下有填充了黑边。

阅读 581
1 个回答

目前录屏avscreencapture的配置不是动态的,只有创建时候设置一次。

屏幕旋转可在初始化时设置OH\_AVScreenCapture\_SetCanvasRotation(capture, true),录制屏幕过程中不支持修改视频宽高。