Skip to content

Latest commit

 

History

History
75 lines (62 loc) · 4.46 KB

屏幕旋转方案.md

File metadata and controls

75 lines (62 loc) · 4.46 KB

#腾讯互动直播视频旋转方案 ##前言 本文用于介绍开发腾讯互动直播时可选用的三种视频旋转模式。开发前请参考ILiveSDKAndroidDemos或者ILiveSDKiosDemos,导入ILiveSDK。 ##方案详细介绍 ###方案一:智能旋转模式 ####简述 智能旋转方案保证显示的视频(包括观众端和主播端等任意角色)始终是正向画面(以主播眼睛看到的上下顺序为准)。视频会自适应到界面View中。 ####效果

主播(镜像) 观众横屏 观众竖屏
![](http://i.imgur.com/joPDT4x.jpg)| ![](http://i.imgur.com/Sl46TRR.jpg) | ![](http://i.imgur.com/Fparsn8.jpg)| ![](http://i.imgur.com/VQARU6x.jpg)| ![](http://i.imgur.com/ecKNaF0.jpg) | ![](http://i.imgur.com/iVhHNJn.jpg)|

####Android实现方式 1.在工程中导入iLiveSDK
2.获取布局中的AVRootView

avRootView = (AVRootView) findViewById(R.id.av_root_view);

3.把AVRootView中指定的AVVideoView的旋转方案设置为ILiveConstants.ROTATION_AUTO,该设置可以随时修改,立即生效

avRootView.getViewByIndex(i).setRotationMode(ILiveConstants.ROTATION_AUTO);

####iOS实现方式:

glView.iLiveRotationType = ILiveRotation_Auto;

默认是ILiveRotation_Auto,可在任何时候设置,设置即生效,glView是AVGLCustomRenderView对象,即渲染视图 ###方案二:全屏模式 ####简述 全屏模式保证观众端始终看到全屏画面,并尽量保证观众看到更多的图像。 ####效果

主播(镜像) 观众横屏 观众竖屏
![](http://i.imgur.com/VQARU6x.jpg) | ![](http://i.imgur.com/BeUSd3g.jpg) | ![](http://i.imgur.com/iVhHNJn.jpg)| ####Android实现方式 1.在工程中导入iLiveSDK 2.获取布局中的AVRootView
avRootView = (AVRootView) findViewById(R.id.av_root_view);

3.把AVRootView中指定的AVVideoView的旋转方案设置为ILiveConstants.ROTATION_FULL_SCREEN,该设置可以随时修改,立即生效

avRootView.getViewByIndex(i).setRotationMode(ILiveConstants.ROTATION_FULL_SCREEN);

####iOS实现方式

glView.iLiveRotationType = ILiveRotation_FullScreen;    

可在任何时候设置,设置即生效,glView是AVGLCustomRenderView对象,即渲染视图

###方案三:裁剪模式 裁剪模式1:(Android和iOS都有)
画面源端的设备关闭系统的“竖排方向锁定”开关,即支持横竖屏自由旋转时,保证观众端始终看到全屏画面,并保证始终是正向画面(以主播眼睛看到的上下顺序为准),超出显示范围的图像会被裁剪。: ####效果

主播(镜像) 观众横屏 观众竖屏

裁剪模式2:(iOS独有)
画面源端的设备打开系统的:“竖排方向锁定”开关,即不支持横竖屏的自由旋转时,保证观众端始终看到全屏画面,但不保证看到的始终是正向画面,超出显示范围的图像会被裁剪: ####效果

主播(镜像) 观众横屏 观众竖屏
####Android实现方式
1.在工程中导入iLiveSDK
2.获取布局中的AVRootView
avRootView = (AVRootView) findViewById(R.id.av_root_view);

3.把AVRootView中指定的AVVideoView的旋转方案设置为ILiveConstants.ROTATION_CROP,该设置可以随时修改,立即生效

avRootView.getViewByIndex(i).setRotationMode(ILiveConstants.ROTATION_CROP);

####iOS实现方式

glView.iLiveRotationType = ILiveRotation_Crop;

可在任何时候设置,设置即生效,glView是AVGLCustomRenderView对象,即渲染视图