实时音视频TRTC 你问我答 第2季
本期共解答10个问题
支持大小屏切换,使用updateView功能,但需要给TXCloudVideoView调用addview添加一个textureview。
解决方案:
首先更新信令模块到最新版本:npm update tsignaling --save
由于sdk中默认设置的是“麦上通话,麦下媒体”,即主播上麦时使用通话音量,观众不上麦则使用媒体音量,所以有人上麦的时候,从媒体切到通话,切的时候会卡一下,然后媒体和通话音量大小不一致,所以声音不一致。
这是正常现象,因为流和view是绑定的,如果想显示后者,只能先stopRemoteView 或者直接updateRemoteView才行。
推流会携带rtemp_id=30 的参数所以不会录制。
客户的推流参数:
"txSecret=eca07737ee8d08e22f365ffbccb53e4c&txTime=72e3f06f&from=interactive&client_business_type=0&sdkappid=1400409499&sdkapptype=1&groupid=8347&userid=Y2lkXzExMTI0ODU5ODg4ODQ4NDg2NA==&ts=6059d85a&tinyid=144115232792037712&roomid=2821265&rtemp_id=30&product_name=CSIG_TRTC&cliRecoId=0&trtcclientip=116.113.127.238&useMixPlayer=1&txHost=109319.livepush.myqcloud.com"
宽高计算
//分辨率与码率根据业务需要设置,注意分辨率的16字节对齐
uint32_t hight = (uint)(540 * screenSize.height / screenSize.width);
hight = hight + (16 - hight % 16);
修改编码的分辨率
NSString *apiJson = [NSString stringWithFormat:@"{\"api\":\"setVideoEncodeParamEx\",\"params\":{\"videoWidth\":%f,\"videoHeight\":%f,\"videoFps\":30,\"videoBitrate\":2400}}",size.width,size.height];
[[TRTCCloud sharedInstance] callExperimentalAPI:apiJson]。
目前TRTC使用同一userid在不同设备同一时间段进房,就会出现互踢,这是当前的机制
调用SwitchRole接口后,需要等角色切换完成的onChangeRole回调,才可以继续调用SwitchRole。从而避免在身份切换过程中出现状态混乱。