目录

实时流

初始化音频流配置

/**
 * @param[audioStreamConfig] MIMCStreamConfig: 音频流配置,该接口如果不调用,内部采用默认配置!
 *  audioStreamConfig.strategy:发送流策略,支持STRATEGY_FEC和STRATEGY_ACK(默认)
 *  audioStreamConfig.ackWaitTimeMs:策略为STRATEGY_ACK时有效,表示发送数据后等待接收发送成功的的响应时间,单位毫秒,默认150ms
 *  audioStreamConfig.isEncrypt:是否加密,默认false
 */

 [user initAudioStreamConfig:audioStreamConfig];

初始化视频流配置

/**
 * @param[videoStreamConfig] MIMCStreamConfig: 视频流配置,该接口如果不调用,内部采用默认配置!
 *  videoStreamConfig.strategy:发送流策略,支持STRATEGY_FEC(默认)和STRATEGY_ACK
 *  videoStreamConfig.ackWaitTimeMs:策略为STRATEGY_ACK时有效,表示发送数据后等待接收发送成功的的响应时间,单位毫秒,默认150ms
 *  videoStreamConfig.isEncrypt:是否加密,默认false
 */

 [user initVideoStreamConfig:videoStreamConfig];

发起会话

/**
 * @param[toAppAccount]: 接收方账号
 * @param[toResource]: 用户设备的标识
 * @param[appContent]: 可以给接收方携带数据
 * @return: 会话ID,唯一标识当前流会话
 */

- (int64_t)dialCall:(NSString *)toAppAccount;
- (int64_t)dialCall:(NSString *)toAppAccount toResource:(NSString *)toResource;
- (int64_t)dialCall:(NSString *)toAppAccount appContent:(NSData *)appContent;
- (int64_t)dialCall:(NSString *)toAppAccount toResource:(NSString *)toResource appContent:(NSData *)appContent;

发送数据

/**
 * @param[callId]: 会话ID
 * @param[data]: 流数据
 * @param[dataType]: 数据类型,音频:AUDIO,视频:VIDEO
 * @param[dataPriority]: 数据优先级,MIMC_P0优先级最高,MIMC_P1次之,MIMC_P2最低
 * @param[canBeDropped]: 是否允许丢包
 * @param[resendCount]: 重发次数,针对MIMCStreamConfig.STRATEGY_ACK有效
 * @param[channelType]: 通道类型,RELAY、P2P_INTERNET、P2P_INTRANET,不指定默认RELAY
 * @param[context]: 用户自定义对象
 */

- (Boolean)sendRtsData:(int64_t)callId data:(NSData *)data dataType:(RtsDataType)dataType dataPriority:(MIMCDataPriority)dataPriority canBeDropped:(Boolean)canBeDropped context:(void *)context;
- (Boolean)sendRtsData:(int64_t)callId data:(NSData *)data dataType:(RtsDataType)dataType dataPriority:(MIMCDataPriority)dataPriority canBeDropped:(Boolean)canBeDropped resendCount:(int)resendCount context:(void *)context;
- (Boolean)sendRtsData:(int64_t)callId data:(NSData *)data dataType:(RtsDataType)dataType dataPriority:(MIMCDataPriority)dataPriority canBeDropped:(Boolean)canBeDropped resendCount:(int)resendCount channelType:(RtsChannelType)channelType context:(void *)context;

获取音频流配置

/**
 * @return 返回音频流配置
 */

 MIMCStreamConfig *config = [user getAudioStreamConfig];

获取视频流配置

/**
 * @return 返回视频流配置
 */

 MIMCStreamConfig *config = [user getVideoStreamConfig];

设置发送缓存大小

/**
 * @param[size] int: 以消息个数为单位
 */
[user setSendBufferSize:size];

获取发送缓存大小

int size = [user getSendBufferSize];

设置接收缓存大小

/**
 * @param[size] int: 以消息个数为单位
 */
[user setRecvBufferSize:size];

获取接收缓存大小

int size = [user getRecvBufferSize];

清空发送缓存

[user clearSendBuffer];

清空接收缓存

[user clearRecvBuffer];

获取发送缓存使用率

float rate = [user getSendBufferUsageRate];

获取接收缓存使用率

float rate = [user getRecvBufferUsageRate];

关闭会话

/**
 * @param[callId]: 会话ID
 * @param[byeReason]: 描述信息
 */

- (void)closeCall:(int64_t)callId;
- (void)closeCall:(int64_t)callId byeReason:(NSString *)byeReason;

实时流回调

/**
 * @param[fromAccount]: 发起方账号
 * @param[fromResource]: 用户设备的标识
 * @param[callId]: 会话ID
 * @param[appContent]: 发起方携带的数据
 * @return: MIMCLaunchedResponse,成员accepted表示是否接受会话,成员errMsg携带描述信息
 */
- (MIMCLaunchedResponse *)onLaunched:(NSString *)fromAccount fromResource:(NSString *)fromResource callId:(int64_t)callId appContent:(NSData *)appContent;

/**
 * @param[callId]: 会话ID
 * @param[accepted]: 接收方同意ture,拒绝false
 * @param[desc]: 描述信息
 */
- (void)onAnswered:(int64_t)callId accepted:(Boolean)accepted desc:(NSString *)desc;

/**
 * @param[callId]: 会话ID
 * @param[desc]: 描述信息
 */
- (void)onClosed:(int64_t)callId desc:(NSString *)desc;

/**
 * @param[callId]: 会话ID
 * @param[data]: 流数据
 * @param[dataType]: 数据类型,AUDIO,VIDEO
 * @param[channelType]: 通道类型,RELAY、P2P_INTERNET、P2P_INTRANET
 */
- (void)handleData:(int64_t)callId data:(NSData *)data dataType:(RtsDataType)dataType channelType:(RtsChannelType)channelType;

/**
  * 发送流数据成功的回调,仅当流策略配置为MIMCStreamConfig.STRATEGY_ACK时回调
  * @param[callId]: 会话ID
  * @param[dataId]: 和sendRtsData()返回值对应
  * @param[context]: 用户自定义对象,和sendRtsData()中的context对应
  */
- (void)handleSendDataSuccess:(int64_t)callId dataId:(int)dataId context
                             :(void *)context;

/**
  * 发送流数据失败的回调,仅当流策略配置为MIMCStreamConfig.STRATEGY_ACK时回调
  * @param[callId]: 会话ID
  * @param[dataId]: 和sendRtsData()返回值对应
  * @param[context]: 用户自定义对象,和sendRtsData()中的context对应
  */
- (void)handleSendDataFail:(int64_t)callId dataId:(int)dataId context
                          :(void *)context;

回到顶部

results matching ""

    No results matching ""