publishVideo
- 
简要描述 发布本地视频 需在进入房间成功后,调用生效。 用户发布视频成功后,收到成功的回调函数:onUserVideoStatus() 
- 
函数原型 重载的函数: int publishVideo()int publishVideo(const std::string& sourceId)有多个设备的时候,需要调用重载函数传入设备的ID来发布使用的设备的视频 设备的ID可以调用getVideo()来获取所有的摄像头设备的ID和名称
- 
使用示例 1 2 3 4 5 6 7 8 9 TKVideo *video = 0; m_sdk->getInterface(TK_IID_VIDEO_DEVICE, (void**)(&video)); int camCount = video->getVideoCount(); for (int i = 0; i < camCount; i++) { std::string name, guid; video->getVideo(i, name, guid); m_sdk->publishVideo(guid); }
unPublishVideo
- 
简要描述 需在进入房间成功后,调用生效。 用户停止发布视频成功后,收到成功的回调函数:onUserVideoStatus() 
- 
函数原型 重载的函数: int unpublishVideo()int unpublishVideo(const std::string& sourceId)有多个设备的时候,需要调用重载函数传入设备的ID来停止发布使用的设备的视频 当前使用的设备ID可以调用getVideo(std::string& current_devId)来获取
- 
使用示例 1 2 3 4 5 TKVideo *video = 0; m_sdk->getInterface(TK_IID_VIDEO_DEVICE, (void**)(&video)); std::string currentDeviceID; video->getVideo(currentDeviceID); m_sdk->publishVideo(currentDeviceID);
publishAudio
- 
简要描述 发布本地音频 需在进入房间成功后,调用生效。 用户发布音频成功后,收到成功的回调函数:onUserAudioStatus() 
- 
函数原型 int publishAudio()
@return 0 success
unpublishAudio
- 
简要描述 停止发布本地音频 需在进入房间成功后,调用生效。 用户停止发布音频成功后,收到成功的回调函数:onUserAudioStatus() 
- 
函数原型 int unpublishAudio()
@return 0 success
playVideo
- 
简要描述 播放用户视频 需在调用 init后,调用生效。 对同一个用户ID,可以调用多次此函数。 多次调用: 1、当对传入相同peerID,相同view时,函数不执行任何操作,直接返回成功; 2、当对传入相同peerID,不同view时,会在新的view上渲染视频,之前播放视频的view将停止渲染视频; 3、须都在主线程调用。 调用此接口后,会有播放视频的相关回调通知: 1、收到第一帧数据的回调 onFirstVideoFrame(int width, int height,tk_uid peerId, std::string mediaType) 2、播放视频的过程中,出现视频状态的回调 onVideoStateChanged(std::string connectionId, std::string id, TK_MEDIA_STATE state)
- 
函数原型 int playVideo(const VideoCanvas& view,tk_uid peerID)本地多流无效int playVideo(const VideoCanvas& view, tk_uid peerID,const std::string& sourceId)
@return 0 success
- 
参数 参数名 说明 view 渲染窗口类,定义详情见 VideoCanvas peerID 用户ID sourceId 多流情况下的设备ID 
- 
使用示例 1 2 3 4 5 6 7 8 9 10 TKVideo *video = 0; m_sdk->getInterface(TK_IID_VIDEO_DEVICE, (void**)(&video)); std::string currentDeviceID; video->getVideo(currentDeviceID); VideoCanvas canvas; canvas.view = (获取的窗口句柄) canvas.renderMode = TK_RENDER_MODE_ADAPTIVE; TKRoomUserPtr userinfo = new TKRoomUser; std::string peerid = userinfo.getPeerID(); m_sdk->playVideo(canvas, peerid, currentDeviceID);
unPlayVideo
- 
简要描述 停止播放用户视频 须在主线程调用。 
- 
函数原型 int unplayVideo(tk_uid peerID)本地多流无效int unplayVideo(tk_uid peerID, const std::string& sourceId)
@return 0 success
- 
参数 参数名 说明 peerID 用户ID sourceId 设备ID(多流模式下) 
- 
使用示例 1 2 3 4 5 6 7 8 9 10 11 //停止播放自己的 TKVideo *video = 0; m_sdk->getInterface(TK_IID_VIDEO_DEVICE, (void**)(&video)); std::string currentDeviceID; video->getVideo(currentDeviceID); VideoCanvas canvas; canvas.view = (获取的窗口句柄) canvas.renderMode = TK_RENDER_MODE_ADAPTIVE; TKRoomUserPtr userinfo = new TKRoomUser; std::string peerid = userinfo.getPeerID(); m_sdk->inPlayVideo(peerid, currentDeviceID);
playAudio
- 
简要描述 播放用户音频: 无需播放自己的音频,若playAudio传入参数是自己的ID,函数会直接return。 调用此接口后,会有播放音频的相关回调通知: 1、收到第一帧数据的回调 onFirstAudioFrame(tk_uid peerId, TK_MEDIATYPE mediaType) 2、播放视频的过程中,出现音频中断的回调 onAudioStateChanged(std::string connectionId, TK_MEDIATYPE mediaType, TK_MEDIA_STATE state) 3、播放用户音频时,音量大小变化的回调(远端音频的音量): onRemoteAudioVolume(tk_uid peerId, int vol) 
- 
函数原型 int playAudio(tk_uid peerID)返回值:return 0 success 参数 peerID: 用户ID
unPlayAudio
- 
简要描述 停止播放用户音频 
- 
函数原型 int unplayAudio(tk_uid peerID)返回值:return 0 success 参数peerID :用户ID
备注
更多返回错误代码请看 TKRoomErrorCode 错误代码描述




 
                   
                  