透明通道

功能简介: 根据发送数据的大小,提供了发送小块数据、发送大块数据、发送文件三种方式。


排队流程如下:

  1. 发送小块数据
  2. 发送大块数据
  3. 发送文件
  4. 发送进度通知
  5. 取消发送

1.发送小块数据

注意:此接口使用后,不能使用cancelSend。一次性发送,也不会有进度通知。

  • 调用接口:
//发送小块数据,taskId为分配的任务ID
sendCmd(string UID, string data);
  • 回调通知:
//发送数据的结果通知
void sendCmdRlst(object sender, ICloudroomVideoMgrEvents_sendCmdRlstEvent e)
{
	if(sdkErr != NOERR){
        Console.WriteLine("发送失败,错误码:"+sdkErr);
    }
}

相关API请参考:

相关结构定义请参考:

2.发送大块数据

分块发送,进度通知事件SendProgress, 调用cancelSend取消发送。

  • 调用接口:
//发送大块数据,taskId为分配的任务ID
sendBuffer(string UID, string data);
  • 回调通知:
//发送数据的结果通知
axMgr.sendBufferRlst += sendBufferRlst;
void sendBufferRlst(object sender, ICloudroomVideoMgrEvents_sendBufferRlstEvent e)
{
	if(sdkErr != NOERR){
        Console.WriteLine("发送失败,错误码:"+sdkErr);
    }
}

相关API请参考:

3.发送文件

分块发送,进度通知事件sendProgress, 调用cancelSend取消发送。

  • 调用接口:
//发送文件,taskId为分配的任务ID
sendFile(string UID, string fileName);
  • 回调通知:
//发送文件的结果通知
void sendFileRlst(object sender, ICloudroomVideoMgrEvents_sendBufferRlstEvent e)
{
	if(sdkErr != NOERR){
        Console.WriteLine("发送失败,错误码:"+sdkErr);
    }
}

相关API请参考:

4.发送进度通知

  • 回调通知:
void sendProgress(object sender, ICloudroomVideoMgrEvents_sendProgressEvent e)
{
    Console.WriteLine("sendBufferProgress:" + e.p_totalLen + "->" + e.p_sendedLen);
    if (e.p_sendedLen == e.p_totalLen)
    {
      //发送完毕
    }
}

相关API请参考:

5.取消发送

  • 调用接口:
//取消发送数据,cancelTaskID为要取消的任务ID
cancelSend(string cancelTaskID);
  • 回调通知:
void cancelSendRlst(object sender, ICloudroomVideoMgrEvents_cancelSendRlstEvent e)
{
  //取消成功或者失败处理
}

相关API请参考: