天天看點

産品百科 |RTC iOS SDK 切換橫豎屏實作方法

音視訊通信 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 裝置方向。取值:
  • AliRtcOrientationModePortrait(預設值):固定豎屏模式。
  • AliRtcOrientationModeLandscapeLeft:固定左橫屏模式。
  • AliRtcOrientationModeLandscapeRight:固定右橫屏模式。
  • AliRtcOrientationModeAuto:自适應橫豎屏模式。

說明

  • 當應用切換橫豎屏時,調用此接口進行裝置方向切換,攝像頭采集會随機進行切換。
  • 1.17 之前版本僅支援固定豎屏模式,不支援動态橫豎屏切換,即隻要目前未打開攝像頭采集(未開啟預覽并且未開始推視訊流),設定可生效;打開攝像頭後再設定不生效。

豎屏模式切換推流分辨率寬高

豎屏模式推流分辨率寬 > 高,例如:640*480(攝像頭保持豎屏采集)。

您可以調用 setVideoSwapWidthAndHeight 方法切換分辨率。

說明 請您在調用 setVideoProfile 和 joinChannel 之前進行切換。

- (void)setVideoSwapWidthAndHeight:(BOOL)swapWidthAndHeight forTrack:(AliRtcVideoTrack)track;      
swapWidthAndHeight BOOL 是否交換寬和高,取值:YES|NO(預設值)
track AliRtcVideoTrack 視訊 Track 類型

說明 您可以在以下情況調用該接口進行切換寬和高:

  • 豎屏模式下豎屏推流,推流分辨率需要寬 > 高。
  • 橫屏模式下橫屏推流,推流分辨率需要寬 < 高。
「視訊雲技術」你最值得關注的音視訊技術公衆号,每周推送來自阿裡雲一線的實踐技術文章,在這裡與音視訊領域一流工程師交流切磋。
産品百科 |RTC iOS SDK 切換橫豎屏實作方法