通过阅读本文,您可以了解iOS端实现横竖屏切换的方法。

横竖屏模式切换

正常情况下竖屏模式推流分辨率宽小于高,例如:480*640;横屏模式推流分辨率宽大于高,例如:640*480。

调用setDeviceOrientationMode方法进行切换横竖屏:

//接口方法
- (int)setDeviceOrientationMode:(AliRtcOrientationMode)mode;
名称 类型 描述
mode AliRtcOrientationMode 设备方向。取值:
  • AliRtcOrientationModePortrait(默认值):固定竖屏模式。
  • AliRtcOrientationModeLandscapeLeft:固定左横屏模式。
  • AliRtcOrientationModeLandscapeRight:固定右横屏模式。
  • AliRtcOrientationModeAuto:自适应横竖屏模式。
说明
  • 当应用切换横竖屏时,调用此接口进行设备方向切换,摄像头采集会随机进行切换。
  • 竖屏模式时不需要调用此接口。
  • 1.17之前版本仅支持固定竖屏模式,即只要当前未打开摄像头采集(未开启预览并且未开始视频推流),设置可生效。打开摄像头后再调用该接口不会生效,不支持动态横竖屏切换。

竖屏模式切换推流分辨率的宽和高

正常情况下竖屏模式推流分辨率宽小于高,例如:480*640;横屏模式推流分辨率宽大于高,例如:640*480。

如果您需要切换分辨率的宽和高,可以调用setVideoSwapWidthAndHeight方法实现(需要在调用setVideoProfile和joinChannel之前进行切换)。

- (void)setVideoSwapWidthAndHeight:(BOOL)swapWidthAndHeight forTrack:(AliRtcVideoTrack)track;
名称 类型 描述
swapWidthAndHeight BOOL YES表示需要交换宽高,NO表示不需要。默认NO。
track AliRtcVideoTrack 需要设置的视频Track类型。