华为云用户手册

  • onRemoteShareStatusChangeNotify void onRemoteShareStatusChangeNotify(HRTCConnection conn, String userId, boolean isRecving) 【功能说明】 上报下行辅流状态变化通知,接收端探测网络变化,分配给下行辅流,如果有辅流因为带宽不足被停掉或者带宽恢复而恢复,则上报给产品。 【回调参数】 conn: 连接对象。 userId:下行辅流对应的用户ID。 isRecving:是否接受。
  • onVideoResolutionChangedNotify void onVideoResolutionChangedNotify(HRTCConnection conn, String userid, int width, int height); 【功能说明】 远端视频大小改变回调。 【回调参数】 conn:回调对应的HRTCConnection实例。 userId:用户ID。 width:视频流宽度。 height:视频流高度。
  • onFirstRemoteVideoDecoded void onFirstRemoteVideoDecoded(HRTCConnection conn, String userId, int width, int height); 【功能说明】 远端用户第一帧解码成功回调。 【回调参数】 conn:回调对应的HRTCConnection实例。 userId:用户ID。 width:视频宽度。 height:视频高度。
  • onRenderSuccessNotify void onRenderSuccessNotify(HRTCConnection conn, String userId, boolean isAux); 【功能说明】 用户视频流渲染成功通知回调。首帧渲染成功、分辨率变化或视频流中断后恢复触发。 【回调参数】 conn:回调对应的HRTCConnection实例。 userId:用户ID。 isAux:是否辅流。true为是辅流,false为不是辅流。
  • onRemoteUserNameChangedNotify void onRemoteUserNameChangedNotify(HRTCConnection conn, String userId, String userName); 【功能说明】 远端用户修改昵称后,通知本端昵称变更。 【回调参数】 conn:回调对应的HRTCConnection实例。 userId:修改昵称的用户id。 userName:修改后的昵称。
  • onRemoteVideoStateChangedNotify void onRemoteVideoStateChangedNotify(HRTCConnection conn, String userId, HRTCRemoteVideoStreamState state, HRTCRemoteVideoStreamStateReason reason); 【功能说明】 远端视频流状态变化回调。 【回调参数】 conn:回调对应的HRTCConnection实例。 userId:远端用户ID。 state:远端视频流状态,具体请参见HRTCRemoteVideoStreamState。 reason:远端视频流状态变化原因,具体请参见HRTCRemoteVideoStreamStateReason。
  • onStreamPublishStateChange void onStreamPublishStateChange(HRTCConnection conn,int code, const char* taskId, const HRTCUrlStatusList * urlStatus); 【功能说明】 RTMP推流状态回调。 【回调参数】 conn:回调对应的HRTCConnection实例。 code:错误码,0表示成功,非0请参见错误码。 taskId:任务Id。 urlStatus:推流的url结果结构体,具体请参见HRTCUrlStatusList。
  • onLeaveRoom void onLeaveRoom(HRTCConnection conn, HRTCLeaveReason reason, HR TCS tatsInfo statsInfo); 【功能说明】 离开房间回调。 【回调参数】 conn:回调对应的HRTCConnection实例。 reason:自己离开房间的原因,具体请参见HRTCLeaveReason。 statsInfo:会议期间的统计信息,具体请参见HRT CS tatsInfo。
  • onUserAuxiliaryStreamAvailable void onUserAuxiliaryStreamAvailable(HRTCConnection conn, String userId, boolean available); 【功能说明】 辅流加入房间。 【回调参数】 conn:回调对应的HRTCConnection实例。 userId:用户ID。 available:true为辅流开始推送,false为辅流停止推送。
  • onRemoteAudioStateChangedNotify void onRemoteAudioStateChangedNotify(HRTCConnection conn, String userId, HRTCRemoteAudioStreamState state, HRTCRemoteAudioStreamStateReason reason); 【功能说明】 远端音频流状态变化回调。 【回调参数】 conn:回调对应的HRTCConnection实例。 userId:远端用户ID。 state:远端音频流状态,具体请参见HRTCRemoteAudioStreamState。 reason:远端音频流状态变化原因,具体请参见HRTCRemoteAudioStreamStateReason。
  • onConnectionChangedNotify void onConnectionChangedNotify(HRTCConnection conn, HRTCConnStateTypes connStateTypes, HRTCConnChangeReason connChangeReason, String description); 【功能说明】 网络连接状态改变。 【回调参数】 conn:回调对应的HRTCConnection实例。 connStateTypes:网络连接状态,具体请参见HRTCConnStateTypes。 connChangeReason:网络连接状态原因,具体请参见HRTCConnChangeReason。 description:描述。
  • onUserRoleChangedNotify void onUserRoleChangedNotify(HRTCConnection conn, HRTCRoleType oldRole, HRTCRoleType newRole); 【功能说明】 用户角色改变。 【回调参数】 conn:回调对应的HRTCConnection实例。 oldRole:改变前的角色,具体请参见HRTCRoleType。 newRole:改变后的角色,具体请参见HRTCRoleType。
  • bindScreenAudio2RelatedStream bindScreenAudio2RelatedStream(bindStream: LocalStream, muteMainStreamAudio?: boolean): void 【功能说明】 绑定屏幕共享背景音至关联流对象。 【请求参数】 bindStream:必选,LocalStream类型, 创建并初始化成功的本地主流对象。 muteMainStreamAudio:可选,boolean类型, 主流音频是否静音,默认值为false。true表示主流音频静音,false表示主流音频不静音。 【返回参数】 无 该接口仅由通过HRTC.createStream创建的辅流对象调用。 屏幕共享背景音需要借助主流的音频通道发送,若想要订阅共享背景音,至少需要订阅主流音频。 弹出的共享选择窗口,需要勾选左下角的共享音频复选框,否则屏幕共享背景音将无法共享。 该功能仅支持Windows平台Chrome浏览器74及以上版本。
  • setScreenProfile setScreenProfile(profile: string|RTCScreenProfile): void 【功能说明】 设置辅流配置,包括分辨率、帧率和码率等。如果未调用该接口设置,则SDK设置默认值为720p。 【请求参数】 profile:必选,string类型或RTCScreenProfile类型。若为string类型,则相关分辨率、帧率、码率如表4所示。如果为RTCScreenProfile,则需要根据实际情况进行配置,推荐使用已定义的“profile”。输入不合法时,默认使用720p。 表4 profile对应的分辨率、帧率和码率 profile 分辨率 帧率 码率(kbps) 720p 1280 x 720 15 1200 1080p 1920 x 1080 15 2000 RTCScreenProfile类型为: { width:可选,number类型,分辨率的宽度,单位为像素。 height:可选,number类型,分辨率的高度,单位为像素。 frameRate:可选,number类型,视频帧率,单位为帧/秒。 bitrate:可选,number类型,视频码率,单位为bps。 } 【返回参数】 无 该方法需要在调用initialize之前调用。 需注意码表中单位为kbps,接口传参的单位为bps,实际调用接口时需进行转换。
  • setAudioProfile setAudioProfile(profile: string|RTCAudioProfile): void 【功能说明】 设置音频流采样率、声道和码率等配置。如果未调用该接口设置,则SDK设置为默认值standard。 【请求参数】 profile:必选,string类型或RTCAudioProfile类型。 若为string类型,则相关的采样率、声道数、码率如表2所示。 若为RTCAudioProfile类型,则需要根据实际情况进行配置,推荐使用已定义的profile,输入不合法时,默认使用standard。 表2 profile对应的采样率、声道数和码率 profile 采样率(千赫兹/KHZ) 声道数 码率(Kbps) low 16 1 24 standard 48 1 40 high 48 1 128 RTCAudioProfile类型定义为:{ sampleRate:可选,number类型,采样率。 channelCount:可选,number类型,音轨数。 bitrate:可选,number类型,码率,单位为bps。 } 【返回参数】 无 该方法需要在调用initialize之前调用。 需注意码表中单位为kbps,接口传参的单位为bps,实际调用接口时需进行转换。
  • setVideoProfile setVideoProfile(profile: string|RTCVideoProfile,resolutionId?: string): void 【功能说明】 设置视频主流配置,如分辨率、帧率和码率等。如果未调用该接口设置,则SDK设置默认值为360p_2。如果该流已经发布,则该流会自动重新发布到远端。 【请求参数】 profile:必选,string类型或RTCVideoProfile类型。 若为string类型,则相关的分辨率、帧率和码率如表3。 若为RTCVideoProfile类型,则需要根据实际情况进行配置,推荐使用已定义的“profile”。输入不合法时,默认使用360p_2。 表3 profile 对应的分辨率、帧率和码率 profile 分辨率 帧率 最小码率(kbps) 最大码率(kbps) 90p_1 160 x 90 15 64 110 90p_2 120 x 90 15 64 110 120p_1 160 x 120 15 64 120 120p_2 120 x 120 15 64 110 180p_1 320 x 180 15 80 320 180p_2 240 x 180 15 80 170 180p_3 180 x 180 15 64 130 240p_1 320 x 240 15 100 400 240p_2 240 x 240 15 80 320 270p_1 480 x 270 15 160 600 300p_1 400 x 300 15 200 500 360p_1 640 x 360 15 200 800 360p_2 480 x 360 15 200 700 360p_3 360 x 360 15 150 600 450p_1 800 x 450 15 300 950 480p_1 640 x 480 15 250 900 480p_2 480 x 480 15 200 800 540p_1 960 x 540 15 400 1000 630p_1 1120 x 630 15 450 1150 720p_1 1280 x 720 15 500 1500 720p_2 960 x 720 15 450 1100 1080p_1 1920 x 1080 15 600 2000 1080p_2 1440 x 1080 15 550 1700 resolutionId:可选,string类型。在双流场景下,指定要设置的分辨率Id的视频,如果不指定,默认选择最高的分辨率的视频。 RTCVideoProfile类型定义为:{ width:可选,number类型,分辨率的宽度,单位为像素。 height:可选,number类型,分辨率的高度,单位为像素。 frameRate:可选,number类型,视频帧率,单位为帧/秒。 minBitrate:可选,number类型,视频最小码率,单位为bps。 maxBitrate:可选,number类型,视频最大码率,单位为bps。 } 【返回参数】 无 需注意码表中单位为kbps,接口传参的单位为bps,实际调用接口时需进行转换。 自定义采集的流(使用videoSource创建的Stream)不支持动态调用此接口,仅支持摄像头采集的流调用。 由于设备采集能力、系统性能以及浏览器的限制,视频分辨率,帧率,码率的实际值不一定能够完全匹配设定值,这种情况下浏览器会自动调整分辨率,尽可能匹配设定值,具体分辨率以实际采集到的分辨率为准。 能否采集1080p及以上的分辨率取决于采集设备能力以及系统性能,iOS Safari不支持采集1080p。 码表中的1080p分辨率为2.0.0版本新增,1.0版本如需采集1080P分辨率,请使用自定义参数的方式设置。 Firefox不支持自定义帧率(默认为30fps)。 如果上表的Profile不符合您的要求,用户可以根据自身业务需求自定义Profile。
  • 基本使用逻辑 创建新的项目工程,导入SDK后,需要先创建引擎。 您可以在入会前进行视频编码、声音播放模式等参数的配置。 设置本地视图。 用户加入房间后,将通过回调的方式通知房间内的其他用户,收到用户加入的回调后,可以为其设置远端视图。 在会中,也可以进行切换摄像头等参数的配置。 离开房间后,需销毁对应资源。 在时序图中,单击相应接口名称可快速跳转到相应接口位置查看其使用方法。 父主题: iOS/macOS SDK
  • 设备管理 表12 设备管理接口 接口 描述 setCameraConfig 设置摄像头参数 switchCamera 切换摄像头 setSpeakerModel 设置声音播放模式 setDefaultSpeakerModel 设置默认的声音播放模式 setLayoutDirect 设置显示模式,区分横屏还是竖屏,用于保证摄像头方向与本地界面方向一致 isSpeakerphoneEnabled 查询是否启用扬声器
  • 音效文件播放管理 表7 音效文件播放管理接口 接口 描述 startAudioFile 开始播放音频文件 stopAudioFile 停止播放音频文件 pauseAudioFile 暂停播放音频文件 resumeAudioFile 恢复播放音频文件 isPlayMixMyself 是否只有本地可以听到混音 isMixWithMicrophone 是否需要替代采集 adjustAudioFileVolume 调整本地和远端音频播放的音量 adjustAudioFilePlayoutVolume 调整本地音频播放的音量 adjustAudioFilePublishVolume 调整远端音频播放的音量 getAudioFileVolume 获取音频播放的音量 getAudioFilePlayoutVolume 获取音频本地播放的音量 getAudioFilePublishVolume 获取音频远端播放的音量 getAudioFileDuration 获取音频文件的时长 getAudioFilePosition 获取音频文件当前播放位置 setAudioFilePosition 设置音频文件播放位置 playAudioClip 开始播放音效文件 stopAudioClip 停止播放音效文件 pauseAudioClip 暂停播放音效文件 resumeAudioClip 恢复播放音效文件 stopAllAudioClips 停止播放所有音效文件 pauseAllAudioClips 暂停播放所有音效文件 resumeAllAudioClips 恢复播放所有音效文件 setAudioClipsVolume 设置音效播放的最大音量 getAudioClipsVolume 获取音效播放的最大音量 setVolumeOfAudioClip 设置指定音效的播放音量 getVolumeOfAudioClip 获取指定音效的播放音量 setAudioClipPosition 设置指定音效文件的播放位置 getAudioClipCurrentPosition 获取指定音效文件当前的播放位置 getAudioClipDuration 获取音效的文件时长 preloadAudioClip 预加载音效文件 unloadAudioClip 删除预加载音效文件
  • 自定义视频采集和渲染 表10 自定义视频采集和渲染接口 接口 描述 setExternalVideoFrameOutputEnable 设置视频数据输出使能 setExternalDataFrameOutputEnable 设置共享数据输出使能 setExternalVideoCapture 设置是否开启外部视频采集 pushExternalVideoFrame 输入外部视频数据 pushAuxExternalVideoFrame 辅流输入外部视频数据
  • 辅流管理 表6 辅流管理接口 接口 描述 setAuxiliaryVideoEncodeSmooth 设置是否开启辅流的流畅度优先。 startRemoteAuxiliaryStreamView 开始订阅辅流 stopRemoteAuxiliaryStreamView 停止订阅辅流 setRemoteAuxiliaryStreamViewRotation 设置辅流角度 updateRemoteAuxiliaryStreamRenderMode 设置辅流渲染模式,镜像模式 setAuxiliaryVideoEncoderConfig 设置辅流编码参数 setAuxExternalVideoCapture 设置是否开启视频辅流外部采集
  • 视频管理 表4 视频管理接口 接口 描述 createRenderer 创建渲染视图 updateLocalRenderMode 设置本地窗口显示模式,镜像模式 setupLocalView 设置本地窗口 pushLocalVideo 设置是否发送本地视频流 setVideoEncoderConfig 设置视频编码参数 setNonStandardVideoEncoder 设置非标视频编码参数 setRemoteVideoAdjustResolution 设置订阅视频流的分辨率自适应 startLocalPreview 开始本地预览 stopLocalPreview 停止本地预览 startRemoteStreamView 开始订阅远端视频流 stopRemoteStreamView 停止订阅远端视频流 setupRemoteView 设置远端窗口视图 updateRemoteRenderMode 设置远端窗口渲染模式,镜像模式 pullRemoteVideo 设置是否接收对应远端用户的视频流 pullAllRemoteVideo 设置是否接收所有远端用户的视频流 setVideoEncoderMirror 设置视频编码镜像模式 enableLocalVideo 设置是否开启摄像头采集视频 enableVideoSuperResolution 设置是否开启视频超分 enableSmallVideoStream 开启并设置小流编码参数 setPriorRemoteVideoStreamType 设置默认订阅的视频流类型(大流还是小流) setRemoteVideoStreamType 设置当前订阅的视频流类型 startPublishStream 开始旁路推流 updateTransCoding 更新旁路推流 stopPublishStream 停止旁路推流 startAllRemoteView 批量设置远端流视图
  • 房间功能 表2 房间功能接口 接口 描述 joinRoom 加入房间 leaveRoom 离开房间 changeUserRole 设置用户角色 renewAuthorization 更新鉴权签名 changeUserName 更新用户昵称 createConnection 创建跨房(HRTCConnection)对象 addMultiRoomMediaRelay 添加单个跨房 removeMultiRoomMediaRelay 删除单个跨房 stopMultiRoomMediaRelay 停止所有跨房
  • 音频管理 表3 音频管理接口 接口 描述 muteLocalAudio 设置是否发送本地音频流 muteRemoteAudio 设置是否接收对应远端用户的音频流 muteAllRemoteAudio 设置是否接收所有远端用户的音频流 enableLocalAudioStream 设置是否开启音频采集 adjustRecordingVolume 调整录制音量 adjustPlaybackVolume 调整播放音量 adjustPlaybackVolume 调整单个用户播放音量 sendAudioSeiMsg 发送音频SEI setAudioFrameRecordParameters 设置音频采集回调参数 setAudioConfig 设置音频场景
  • 初始化等基础接口 表1 初始化等基础接口 接口 描述 create 创建SparkRTC引擎实例 destroy 销毁SparkRTC引擎 logUpload 上传日志 disableRejoinRoom 设置是否禁用房间重连功能。 enableStats 打点功能开关 getVersion 获取当前SDK版本号 setEncryption 设置端到端加密模式 setAccessResourceType 设置接入环境 setNetworkBandwidth 设置网络带宽限制
  • 辅流管理 表4 辅流管理接口 接口 描述 startRemoteAuxiliaryStreamView 开启辅流渲染视图(发起辅流选看) stopRemoteAuxiliaryStreamView 关闭辅流渲染视图(停止辅流选看) updateRemoteAuxiliaryStreamRenderMode 设置辅流视图渲染模式,镜像模式 setRemoteAuxiliaryStreamViewRotation 设置辅流视图角度 setRemoteAuxiliaryStreamViewOrientation 设置辅流横屏或竖屏显示
  • 视频管理 表3 视频管理接口 接口 描述 startRemoteStreamView 按档位选看远端用户,并设置用户窗口 stopRemoteStreamView 取消订阅远端用户,并清除此用户的窗口 updateRemoteRenderMode 设置远端视频渲染填充方式,镜像模式 pullRemoteVideo 订阅或取消订阅远端用户 pullAllRemoteVideo 订阅或取消订阅全部远端用户,对未入会用户也有影响 setupRemoteView 设置远端用户窗口 setRemoteVideoAdjustResolution 远端流自动调整分辨率开关 setPriorRemoteVideoStreamType 大小流模式,设置所有订阅的远端视频流类型 setRemoteVideoStreamType 大小流模式,设置远端视频流类型 setRemoteViewRotation 设置远端视频旋转角度 setRemoteViewOrientation 设置远端视频横屏、竖屏展示
  • onAudioFramePlayback virtual bool onAudioFramePlayback(HRTCAudioFrame& audioFrame) 【功能说明】 需要播放的音频数据回调,从接口回调中取到音频数据以作后处理。 【回调参数】 audioFrame:音频数据格式 ,具体请参见HRTCAudioFrame。 【返回参数】 true:处理结果成功。 false:处理结果失败。
  • onMultiRoomMediaRelayStateChanged void onMultiRoomMediaRelayStateChanged(const char *roomId, HRTCMultiRoomMediaRelayState state, HRTCMultiRoomMediaRelayStateCode code); 【功能说明】 跨房状态回调。 【回调参数】 roomId:跨房房间号。 state:状态类型,具体请参见HRTCMultiRoomMediaRelayState。 code:状态的具体原因,具体请参见HRTCMultiRoomMediaRelayStateCode。
  • onRemoteMicrophoneStateChanged void onRemoteMicrophoneStateChanged(const char* userId, HRTCRemoteMicState state); 【功能说明】 远端麦克风设备状态变更通知。 【回调参数】 userId:远端用户userId。 state:麦克风设备状态,具体请参见HRTCRemoteMicState。
共100000条