华为云用户手册

  • 基本使用逻辑 创建新的项目工程,导入SDK后,需要先创建引擎。 您可以在入会前进行视频编码、声音播放模式等参数的配置。 设置本地视图。 加入房间后,将通过回调的方式通知房间内的其他用户,收到用户加入的回调后,可以为其设置远端视图。 在会中,也可以进行切换摄像头等参数的配置。 离开房间后,需销毁对应资源。 在时序图中,单击相应接口名称可快速跳转到相应接口位置查看其使用方法。 父主题: All Platform C++ SDK
  • onVideoFrameRender virtual bool onVideoFrameRender(const char* userId, HRTCVideoFrame& videoFrame) 【功能说明】 原始视频数据处理后回调 【回调参数】 userid:用户ID videoFrame:视频数据格式 ,具体请参见HRTCVideoFrame。 【返回参数】 true:处理结果成功。 false:处理结果失败。
  • onAudioFramePlayback virtual bool onAudioFramePlayback(HRTCAudioFrame& audioFrame) 【功能说明】 需要播放的音频数据回调,从接口回调中取到音频数据以作后处理。 【回调参数】 audioFrame:音频数据格式 ,具体请参见HRTCAudioFrame。 【返回参数】 true:处理结果成功。 false:处理结果失败。
  • getAudioDeviceManager virtual IHRTCAudioDeviceManager* getAudioDeviceManager() 【功能说明】 获取系统音频设备管理对象。通过该对象进行音频设备管理,具体请参见音频设备管理。 【请求参数】 无 【返回参数】 IHRTCAudioDeviceManager*:IHRTCAudioDeviceManager对象。 NULL:返回失败。
  • getVideoDeviceManager virtual IHRTCVideoDeviceManager* getVideoDeviceManager() 【功能说明】 获取系统视频设备管理对象。通过该对象进行视频设备管理,具体请参见视频设备管理。 【请求参数】 无 【返回参数】 IHRTCVideoDeviceManager*:IHRTCVideoDeviceManager对象。 NULL:返回失败。
  • onVideoFrameRender virtual bool onVideoFrameRender(IHRTCConnection* conn, const char* userId, HRTCVideoFrame& videoFrame) 【功能说明】 原始视频数据处理后回调 【回调参数】 conn:连接对象 userid:用户ID videoFrame:视频数据格式 ,具体请参见HRTCVideoFrame。 【返回参数】 true:处理结果成功。 false:处理结果失败。
  • onUserNetworkQualityNotify void onUserNetworkQualityNotify(const char *roomId, const char* userId, HRTCNetworkQualityLevel txQuality, HRTCNetworkQualityLevel rxQuality); 【功能说明】 支持用户上报各自与近端SFU间的上下行网络质量,基于用户级,使本地用户能获取同房间内远端用户与其近端SFU间的网络质量。CMD广播时为房间级,将广播给订阅了此主播流的用户或者此主播被选为TOPN用户且观众订阅了该TOPN用户。 【回调参数】 roomId:用户所在房间号。 userId: 上报的用户id,0为本地,非0为远端。 txQuality:该用户的上行网络质量,具体请参见HRTCNetworkQualityLevel。 rxQuality:该用户的下行网络质量,具体请参见HRTCNetworkQualityLevel。 此接口不支持跨房场景、WebRTC场景。 不支持RTSA。
  • onLocalVideoStatsNotify virtual void onLocalVideoStatsNotify(const HRTCLocalVideoStats *localStats, unsigned int localStatsCount) 【功能说明】 本地视频流详情,2s触发一次回调。 【回调参数】 localStats:本地视频收流统计,具体请参见HRTCLocalVideoStats。 localStatsCount:localStats数组长度。
  • onStreamPublishStateChange void onStreamPublishStateChange(int code, const char* taskId, const HRTCUrlStatusList * urlStatu); 【功能说明】 RTMP推流状态回调。 【回调参数】 code:错误码,成功为0,失败请参考错误码HRTCErrorCode。 taskId:任务Id。 urlStatu:推流的url状态,具体请参见HRTCUrlStatusList。
  • 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。
  • onRemoteVideoStatsNotify virtual void onRemoteVideoStatsNotify(const HRTCRemoteVideoStats *remoteStats, unsigned int remoteStatsCount) 【功能说明】 远端视频流详情,2s触发一次回调。 【回调参数】 remoteStats:远端视频收流统计,具体请参见HRTCRemoteVideoStats。 remoteStatsCount:remoteStats数组长度。
  • onShareWindowLocationChangedNotify void onShareWindowLocationChangedNotify(const char* info); 【功能说明】 共享源目标坐标或者DPI发生变化通知。 【回调参数】 info:json类型,如{dpi:100, x:0, y:0, width:1920, height:1080} dpi:当前窗口的缩放 x:左上角x轴坐标 y:左上角y轴坐标 width:宽 height:高
  • onRenderExternalVideoFrame virtual void onRenderExternalVideoFrame(const char* roomId, HRTCMediaDirection direction, const char* userId, HRTCVideoFrame& videoFrame) 【功能说明】 视频自渲染回调。需要调用setExternalVideoFrameOutput接口开启视频自渲染,从而触发该回调。 【回调参数】 roomId:房间ID。 direction:数据源,本地数据,远端数据,具体请参见HRTCMediaDirection。 userId:视频数据对应的远端用户ID。 videoFrame:视频帧详情,具体请参见HRTCVideoFrame。
  • onStartAllRemoteViewResult virtual void onStartAllRemoteViewResult(int errCode, const char* errMsg, unsigned int counts, const HR TCS etupRemoteViewResult* results) 【功能说明】 批量选看结果回调。 【回调参数】 errCode:错误码。 errMsg:错误信息。 counts:results数组大小。 results:批量选看结果,具体请参见HRT CS etupRemoteViewResult。
  • onAuxiliaryStreamStatsNotify virtual void onAuxiliaryStreamStatsNotify(HRTCLocalVideoStats *localStats, unsigned int localStatsCount, HRTCRemoteVideoStats *remoteStats, unsigned int remoteStatsCount) 【功能说明】 辅流详情,2s触发一次回调。 【回调参数】 localStats:本地辅流发流统计,具体请参见HRTCLocalVideoStats。 localStatsCount:localStats数组长度。 remoteStats:远端辅流收流统计,具体请参见HRTCRemoteVideoStats。 remoteStatsCount:remoteStats数组长度。
  • onRemoteVideoStateChangedNotify virtual void onRemoteVideoStateChangedNotify(const char* userId, HRTCRemoteVideoStreamState state, HRTCRemoteVideoStreamStateReason reason) 【功能说明】 远端视频流状态变化回调。 【回调参数】 userId:远端用户ID。 state:远端视频流状态,具体请参见HRTCRemoteVideoStreamState。 reason:远端视频流状态变化原因,具体请参见HRTCRemoteVideoStreamStateReason。
  • onPlaybackExternalAudioFrame virtual void onPlaybackExternalAudioFrame(const char* roomId, HRTCMediaDirection direction, HRTCAudioFrame& audioFrame) 【功能说明】 音频自渲染回调。需要调用setExternalAudioFrameOutput接口开启音频自渲染,从而触发该回调。 【回调参数】 roomId:房间ID。 direction:数据源,本地数据,远端数据,具体请参见HRTCMediaDirection。 audioFrame:音频帧详情,具体请参见HRTCAudioFrame。
  • onLocalVideoStateChangedNotify virtual void onLocalVideoStateChangedNotify(HRTCLocalVideoStreamState state, HRTCLocalVideoStreamStateReason reason) 【功能说明】 本地视频状态改变,触发此回调。 【回调参数】 state:本地视频状态,具体请参见HRTCLocalVideoStreamState。 reason:本地视频状态改变原因,具体请参见HRTCLocalVideoStreamStateReason。
  • onNetworkQualityNotify virtual void onNetworkQualityNotify(HRTCQualityInfo* localQuality, unsigned int localQualityCount, HRTCQualityInfo* remoteQuality, unsigned int remoteQualityCount) 【功能说明】 房间内客户端基于流级别的网络质量实时上报,默认开启,每2s上报一次,有数据流时才会回调,音频流、视频流分开回调。 【回调参数】 localQuality:本地上行网络质量,该参数暂时不使用。 localQualityCount:正在上报的网络质量数量,该参数暂时不使用。 remoteQuality:(本地下行)远端各路流的网络质量,具体请参见HRTCQualityInfo。 remoteQualityCount:正在上报的流的数量,集合的大小。
  • onRemoteAudioStateChangedNotify virtual void onRemoteAudioStateChangedNotify(const char* userId, HRTCRemoteAudioStreamState state, HRTCRemoteAudioStreamStateReason reason) 【功能说明】 远端音频流状态变化回调。 【回调参数】 userId:远端用户ID。 state:远端音频流状态,具体请参见HRTCRemoteAudioStreamState。 reason:远端音频流状态变化原因,具体请参见HRTCRemoteAudioStreamStateReason。
  • onUserVolumeStatsNotify virtual void onUserVolumeStatsNotify(const HRTCVolumeInfo* userVolumes, unsigned int userVolumesCount, unsigned int totalVolume) 【功能说明】 用户音量状态回调。通过enableUserVolumeNotify开启并设置回调周期,定时上报。 【回调参数】 userVolumes:用户信息,具体请参见HRTCVolumeInfo。 userVolumesCount:上报的用户人数,包含本地用户。 totalVolume:总音量。
  • onLocalAudioStateChangedNotify virtual void onLocalAudioStateChangedNotify(HRTCLocalAudioStreamState state, HRTCLocalAudioStreamStateReason reason) 【功能说明】 本地音频状态改变,触发此回调。 【回调参数】 state:本地音频状态,具体请参见HRTCLocalAudioStreamState。 reason:本地音频状态改变的原因,具体请参见HRTCLocalAudioStreamStateReason。
  • onMediaConnectStateChangedNotify virtual void onMediaConnectStateChangedNotify(HRTCMediaConnStateTypes state, HRTCMediaConnChangeReason reason, const char* description) 【功能说明】 媒体服务器连接状态变更通知。 【回调参数】 state:与媒体服务器连接状态,具体请参见HRTCMediaConnStateTypes。 reason:连接状态变化的原因,具体请参见HRTCMediaConnChangeReason。 description:连接状态变化原因描述。 加入房间过后,收到媒体服务的数据包时,返回Connected消息,超过6s没有收到包,则返回Failed消息。
  • onRenderAuxiliaryExternalVideoFrame virtual void onRenderAuxiliaryExternalVideoFrame(const char* roomId, HRTCMediaDirection direction, const char* userId, HRTCVideoFrame& videoFrame) 【功能说明】 辅流自渲染回调。需要调用setAuxiliaryExternalVideoFrameOutput接口开启辅流自渲染,从而触发该回调。 【回调参数】 roomId:房间ID。 direction:数据源,本地数据,远端数据,具体请参见HRTCMediaDirection。 userId:用户ID。 videoFrame:辅流详情,具体请参见HRTCVideoFrame。
  • onRemoteUserOffline virtual void onRemoteUserOffline(const char* roomId, const char* userId, int reason) 【功能说明】 远端joiner用户离开当前房间,触发此回调。 本端用户离开当前房间,会回调当前房间所有用户offline。 【回调参数】 roomId:当前房间的房间ID。 userId:离开房间的远端用户ID。 reason:远端用户离线原因,预留参数。
  • onRemoteUserOnline virtual void onRemoteUserOnline(const char* roomId, const char* userId, const char* userName) 【功能说明】 远端joiner用户加入当前房间,触发此回调。该回调提示有远端joiner用户加入了房间,并返回新加入用户的ID。 【回调参数】 roomId:房间ID。 userId:远端用户ID。 userName:远端用户昵称。
  • onDeviceStateChangedNotify virtual void onDeviceStateChangedNotify(const char* deviceId, HRTCDeviceType deviceType, HRTCDeviceState deviceState) 【功能说明】 设备状态发生变化,触发此回调。 【回调参数】 deviceId:系统设备标识,如系统音频播放设备标识可通过getPlaybackDevices获取。 deviceType:系统设备类型,具体请参见HRTCDeviceType。 deviceState:系统设备状态,具体请参见HRTCDeviceState。 通话前插拔设备会上报变化。
  • onFirstRemoteAuxiliaryStreamDecoded virtual void onFirstRemoteAuxiliaryStreamDecoded(const char* roomId, const char* userId, int width, int height) 【功能说明】 接收到第一帧远端辅流并解码成功,触发此回调。 【回调参数】 roomId:视频流对应的房间ID。 userId:视频流对应的用户ID。 width:视频流宽。 height:视频流高。
  • onDeviceVolumeChangedNotify virtual void onDeviceVolumeChangedNotify(HRTCDeviceType deviceType, unsigned int volume, unsigned int muted) 【功能说明】 音频设备音量发生变化,触发此回调。 【回调参数】 deviceType:系统设备类型,具体请参见HRTCDeviceType。 volume:音量 muted:true表示设备静音,false表示设备未静音。 通话前调整音频设备音量和静音会上报变化。
共100000条