音视频通信 RTC(Real-Time Communication)是阿里云覆盖全球的实时音视频开发平台,依托核心音视频编解码、信道传输、网络调度技术,提供高可用、高品质、超低延时的音视频通信服务,让用户快速搭建多端实时应用,适用于在线教育、视频会议、互动娱乐、音视频社交等场景。
产品链接:https://www.aliyun.com/product/rtc
当您成功集成 SDK,并想实现移动端切换横竖屏进行实时音视频通信。您可以阅读本文,了解实现本地切换横竖屏的代码方法,帮助您更好的体验阿里云音视频通信服务。
横竖屏模式切换
正常情况下竖屏模式推流分辨率宽 <高,例如:480*640;横屏模式推流分辨率宽> 高,例如:640*480。
如果您想切换横竖屏,请调用 setDeviceOrientationMode 方法进行切换横竖屏。该方法调用成功返回 0,失败返回其他。
说明 仅允许在推流和预览之前进行设置。
//接口方法 - (int)setDeviceOrientationMode:(AliRtcOrientationMode)mode; //示例方法 [[UIDevice currentDevice] setValue:@(UIDeviceOrientationLandscapeLeft) forKey:@"orientation"]; [self.engine setDeviceOrientationMode:(AliRtcOrientationModeLandscapeLeft)];
参数 | 类型 | 描述 |
mode | AliRtcOrientationMode | 设备方向。取值:
|
说明
- 当应用切换横竖屏时,调用此接口进行设备方向切换,摄像头采集会随机进行切换。
- 1.17 之前版本仅支持固定竖屏模式,不支持动态横竖屏切换,即只要当前未打开摄像头采集(未开启预览并且未开始推视频流),设置可生效;打开摄像头后再设置不生效。
竖屏模式切换推流分辨率宽高
竖屏模式推流分辨率宽 > 高,例如:640*480(摄像头保持竖屏采集)。
您可以调用 setVideoSwapWidthAndHeight 方法切换分辨率。
说明 请您在调用 setVideoProfile 和 joinChannel 之前进行切换。
- (void)setVideoSwapWidthAndHeight:(BOOL)swapWidthAndHeight forTrack:(AliRtcVideoTrack)track;
参数 | 类型 | 描述 |
swapWidthAndHeight | BOOL | 是否交换宽和高,取值:YES|NO(默认值) |
track | AliRtcVideoTrack | 视频 Track 类型 |
说明 您可以在以下情况调用该接口进行切换宽和高:
- 竖屏模式下竖屏推流,推流分辨率需要宽 > 高。
- 横屏模式下横屏推流,推流分辨率需要宽 < 高。
「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。