由於Android的開放性,不同的設備存在一些差異,某些設備所採集的視頻數據顯示出來在方向上存在一定的誤差,這通常與硬件設備的驅動相關,新增加的API接口便是在遠程顯示時,可以支持手工來修正遠程視頻的方向。
增加的API接口參數定義(以AnyChat for Web SDK爲例):
// 遠程視頻方向修正標誌定義
var BRAC_ROTATION_FLAGS_MIRRORED = 0x1000; // 圖像需要鏡像翻轉
var BRAC_ROTATION_FLAGS_ROTATION90 = 0x2000; // 順時針旋轉90度
var BRAC_ROTATION_FLAGS_ROTATION180 = 0x4000; // 順時針旋轉180度
var BRAC_ROTATION_FLAGS_ROTATION270 = 0x8000; // 順時針旋轉270度
// 用戶信息控制類型定義(API:BRAC_UserInfoControl 傳入參數)
var BRAC_USERINFO_CTRLCODE_ROTATION = 8; // 讓指定的用戶視頻在顯示時旋轉,wParam爲旋轉角度參數
複製代碼
在視頻顯示過程中,如果需要將視頻順時針旋轉90度,則可以調用如下的API:
BRAC_UserInfoControl(mTargetUserId, BRAC_USERINFO_CTRLCODE_ROTATION, BRAC_ROTATION_FLAGS_ROTATION90, 0, "");
複製代碼
在視頻顯示過程中,如果需要將視頻順時針旋轉90度,旋轉之後再鏡像翻轉,則可以調用如下的API:
BRAC_UserInfoControl(mTargetUserId, BRAC_USERINFO_CTRLCODE_ROTATION, BRAC_ROTATION_FLAGS_ROTATION90 + BRAC_ROTATION_FLAGS_MIRRORED, 0, "");
複製代碼
在視頻顯示過程中,如果需要取消旋轉,則傳入參數0即可,參考如下API調用:
BRAC_UserInfoControl(mTargetUserId, BRAC_USERINFO_CTRLCODE_ROTATION, 0, 0, "");
複製代碼
新增加的API接口目前暫時只支持AnyChat for Windows SDK,AnyChat for Web SDK,從AnyChat r3997開始的版本即可支持。