Video SDK for iOS API接口手册

相关异步/同步处理方法介绍

游密音视频引擎SDK接口调用都会立即返回,凡是本身需要较长耗时的接口调用都会采用异步回调的方式,所有接口都可以在主线程中直接使用。回调都在子线程中进行,请注意不要在回调中直接操作UI主线程。

API调用说明

API的调用可使用“[YMVoiceService getInstance]”来直接操作,接口使用的基本流程为初始化->收到初始化成功回调通知->加入语音频道->收到加入频道成功回调通知->使用其它接口->离开语音频道->反初始化,要确保严格按照上述的顺序使用接口。

新增接口(适用于3.4.1.1083版本及以上)

创建引擎实例(单例模式)

  • 功能描述
    初始化引擎。

  • 语法

    -(YouMeErrorCode_t)initSDK:(id<YMLiveVideoEngineDelegate>)delegate
                     appkey:(NSString*)appKey
                  appSecret:(NSString*)appSecret
                   regionId:(YOUME_RTC_SERVER_REGION_t)regionId
           serverRegionName:(NSString*) serverRegionName;
  • 参数说明
    delegate:回调地址。
    appKey:在申请SDK注册时得到的App Key,可凭账号密码到https://console.youme.im/查询。
    appSecret:在申请SDK注册时得到的App Secret,可凭账号密码到https://console.youme.im/查询。
    regionId:设置首选连接服务器的区域码,建议直接使用RTC_DEFAULT_SERVER。如果YOUME_RTC_SERVER_REGION定义的区域码不能满足要求,可以把这个参数设为 RTC_EXT_SERVER,然后通过后面的参数serverRegionName 设置一个自定的区域值(如中国用 "cn" 或者 “ch"表示),然后把这个自定义的区域值同步给游密,我们将通过后台配置映射到最佳区域的服务器。
    serverRegionName:自定义的扩展的服务器区域名,可参考 setServerRegion 接口中 regionName 参数说明。可选扩展字段, 如不清楚,传入: @""。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

销毁引擎

  • 功能描述
    销毁引擎。

  • 语法

    -(YouMeErrorCode_t)destroy;
  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置用户角色

  • 功能描述
    设置用户角色(仅支持单频道模式,进入房间以后设置)。

  • 语法

    -(YouMeErrorCode_t)setClientRole:(YouMeUserRole_t)role;
  • 参数说明
    role:用户身份。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置频道场景

  • 功能描述
    设置频道场景,频道场景分为:通信场景(默认)、直播场景。

  • 语法

    -(void)setChannelProfile:(YouMeChannelProfile_t)profile;
  • 参数说明
    profile:频道场景分为:通信场景(默认)、直播场景。

本地加入频道

  • 功能描述
    本地加入频道。

  • 语法

    -(int)joinChannel:(NSString *)channelId
            userId:(NSString *)userId
          autoRecv:(BOOL)autoRecv;
  • 参数说明
    channelId:频道ID。
    userId:用户ID,要保证频道内不重复。
    autoRecv:是否自动接收频道内其他人的视频,YES:自动接收,NO:不接收。

本地离开频道

  • 功能描述
    本地离开频道。

  • 语法

    -(YouMeErrorCode_t)leaveChannel;
  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置开启/关闭扬声器播放

  • 功能描述
    设置开启/关闭扬声器播放。

  • 语法

    -(YouMeErrorCode_t)setEnableSpeakerphone:(BOOL)isOpen;
  • 参数说明
    isOpen:设置是否开启扬声器播放,YES: 输出到扬声器,NO: 输出到听筒。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置本地播放的远端用户的音量

  • 功能描述
    设置本地播放的远端用户的音量。

  • 语法

    -(void)adjustPlaybackSignalVolume:(NSInteger)volume;
  • 参数说明
    volume:播放音量,范围[0-100]。

取消或恢复发布本地音频流

  • 功能描述
    取消或恢复发布本地音频流。

  • 语法

    -(void)muteLocalAudioStream:(BOOL)mute;
  • 参数说明
    mute:是否取消发布本地音频流,YES: 取消发布,NO: 发布。

设置是否订阅及播放远端音频流

  • 功能描述
    设置是否订阅及播放远端音频流。

  • 语法

    -(void)muteRemoteAudioStream:(NSString *)userId
                         mute:(BOOL)mute;
  • 参数说明
    userId:用户ID。
    mute:是否取消订阅指定远端用户的音频流,YES: 取消订阅,NO: 订阅(默认)。

设置视频编码器配置

  • 功能描述
    设置视频编码器配置。

  • 语法

    -(int)setVideoEncoderConfiguration:(YMVideoEncoderConfiguration *)config;
  • 参数说明
    config:编码器配置数据结构YMVideoEncoderConfiguration的实例,包括分辨率、帧率、码率。

绑定本地视频渲染视图

  • 功能描述
    绑定本地视频渲染视图,并指定视频填充模式。

  • 语法

    -(UIView*)setupLocalVideo:(UIView *)parentView
                 userId:(NSString *)userId
                   mode:(YouMeVideoRenderMode_t)mode;
  • 参数说明
    parentView:渲染视图的父视图。
    userId:本端用户ID。
    mode:填充模式。

  • 返回值
    返回渲染视图OpenGLESView对象。

删除本地视频渲染视图

  • 功能描述
    删除本地视频渲染视图。

  • 语法

    -(void)deleteLocalVideo:(NSString *)userId;
  • 参数说明
    userId:用户ID。

取消或恢复发布本地视频流

  • 功能描述
    取消或恢复发布本地视频流。

  • 语法

    -(void)muteLocalVideoStream:(BOOL)mute;
  • 参数说明
    mute:是否取消发布本地视频流,YES: 取消发布,NO: 发布。

本地加入频道成功回调

  • 功能描述
    本地加入频道成功回调。

  • 语法

    -(void)liveVideoEngine:(YMLiveVideoEngine *)engine didJoinChannel:(NSString *)userId;
  • 参数说明
    engine:引擎对象。
    userId:用户ID。

本地离开频道回调

  • 功能描述
    本地离开频道回调。

  • 语法

    -(void)liveVideoEngine:(YMLiveVideoEngine *)engine didLeaveChannel:(NSString *)userId;
  • 参数说明
    engine:引擎对象。
    userId:用户ID。

远端用户发布流回调

  • 功能描述
    远端用户发布流回调。

  • 语法

    -(void)liveVideoEngine:(YMLiveVideoEngine *)engine didJoinedOfUid:(NSString *)userId;
  • 参数说明
    engine:引擎对象。
    userId:用户ID。

远端用户取消发布流回调

  • 功能描述
    远端用户取消发布流回调。

  • 语法

    -(void)liveVideoEngine:(YMLiveVideoEngine *)engine didOfflineOfUid:(NSString *)userId;
  • 参数说明
    engine:引擎对象。
    userId:用户ID。

远端用户停止/恢复发送音频流回调

  • 功能描述
    远端用户停止/恢复发送音频流回调。

  • 语法

    -(void)liveVideoEngine:(YMLiveVideoEngine *)engine didAudioMuted:(BOOL)muted byUid:(NSString *)userId;
  • 参数说明
    engine:引擎对象。
    muted:是否停止发送音频流。
    userId:用户ID。

远端用户停止/恢复发送视频流回调

  • 功能描述
    远端用户停止/恢复发送视频流回调。

  • 语法

    -(void)liveVideoEngine:(YMLiveVideoEngine *)engine didVideoMuted:(BOOL)muted byUid:(NSString *)userId;
  • 参数说明
    engine:引擎对象。
    muted:是否停止发送视频流。
    userId:用户ID。

以下接口适用于所有版本

实现回调

使用者要遵守协议VoiceEngineCallback并实现相关函数(回调函数)。回调都在子线程中执行,不能用于更新UI等耗时操作。

事件回调

  • 功能描述
    底层事件上报。

  • 语法

    -(void) onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param 
  • 参数说明
    eventType:回调事件类型,详情请查询枚举类型YouMeEvent。
    iErrorCode:错误码。
    roomid:回调事件所在的房间ID。
    param:其他参数,根据eventType不同而不同。

restAPI回调

  • 功能描述
    当调用 requestRestApi 接口时,异步回调上报结果。

  • 语法

    -(void)onRequestRestAPI: (int)requestID iErrorCode:(YouMeErrorCode_t) iErrorCode  query:(NSString*) strQuery  result:(NSString*) strResult
  • 参数说明
    requestID:调用查询时返回的requestID,可以用于标识一个查询。
    iErrorCode:查询结果的错误码。
    strQuery:查询的请求,json字符串。
    strResult:查询的结果,json字符串。

成员变化通知回调

  • 功能描述
    成员进入和退出房间时,底层主动上报成员变化情况。

  • 语法

    -(void)onMemberChange:(NSString*) channelID changeList:(NSArray*) changeList isUpdate:(bool) isUpdate
  • 参数说明
    channelID:成员发生变化的房间ID。
    changeList:成员变化列表,NSArray<MemberChangeOC>
    isUpdate:true表示进房间后,有人进出的通知;false表示进房间时的user列表。

抢麦连麦接口回调

  • 功能描述
    收到抢麦通知和连麦邀请通知后,回调该接口。

  • 语法

    -(void)onBroadcast:(YouMeBroadcast_t)bc strChannelID:(NSString*)channelID strParam1:(NSString*)param1 strParam2:(NSString*)param2 strContent:(NSString*)content
  • 参数说明
    bc:抢麦与连麦的状态 channelID:抢麦连麦所在的频道。
    param1:抢到麦的用户或者发起连麦的用户。
    param2:收到连麦邀请的用户,抢麦场景为空。
    content:数据内容。

统计回调

  • 功能描述
    音视频通话码率、丢包率回调。

  • 语法

    -(void) onAVStatistic:(YouMeAVStatisticType_t)type  userID:(NSString*)userID  value:(int) value 
  • 参数说明
    type:数据类型,参考 《Video SDK for iOS-状态码》中 YouMeAVStatisticType 类型定义。
    userID:指定用户。
    value:统计的数据类型对应的数据值。

音频数据回调

  • 功能描述
    获取远端音频数据。

  • 语法

    -(void) onAudioFrameCallback: (NSString*)userId data:(void*) data len:(int)len timestamp:(uint64_t)timestamp
  • 参数说明
    userId:音频数据的用户ID。
    data:音频数据。
    len:数据长度。
    timestamp:音频帧时间戳。

音频合流数据回调

  • 功能描述
    获取远端所有用户的音频合流数据。

  • 语法

    -(void)onAudioFrameMixedCallback: (void*)data len:(int)len timestamp:(uint64_t)timestamp;
  • 参数说明
    data:音频数据。
    len:数据长度。
    timestamp:音频帧时间戳。

yuv数据回调

  • 功能描述
    获取用户的渲染数据。

  • 语法

    -(void)onVideoFrameCallback: (NSString*)userId data:(void*) data len:(int)len width:(int)width height:(int)height fmt:(int)fmt timestamp:(uint64_t)timestamp;
  • 参数说明
    userId:用户ID。
    data:视频渲染数据。
    len:数据长度。
    width:视频宽。
    height:视频高。
    fmt:渲染格式。
    timestamp:视频帧时间戳。

yuv合流数据回调

  • 功能描述
    获取远端与本地视频合流数据。

  • 语法

    -(void)onVideoFrameMixedCallback: (void*) data len:(int)len width:(int)width height:(int)height fmt:(int)fmt timestamp:(uint64_t)timestamp;
  • 参数说明
    data:视频合流数据。
    len:数据长度。
    width:视频宽。
    height:视频高。
    fmt:渲染格式。
    timestamp:视频帧时间戳。

openGL纹理数据回调

  • 功能描述
    获取远端用户的openGL纹理数据。

  • 语法

    -(void)onVideoFrameCallbackForGLES:(NSString*)userId  pixelBuffer:(CVPixelBufferRef)pixelBuffer timestamp:(uint64_t)timestamp;
  • 参数说明
    userId:用户ID。
    pixelBuffer:纹理数据。
    timestamp:视频帧时间戳。

openGL纹理合流数据回调

  • 功能描述
    获取远端与本地视频合流数据。

  • 语法

    -(void)onVideoFrameMixedCallbackForGLES:(CVPixelBufferRef)pixelBuffer timestamp:(uint64_t)timestamp;
  • 参数说明
    pixelBuffer:合流视频数据。
    timestamp:视频帧时间戳。

渲染回调滤镜

  • 功能描述
    视频渲染回调,增加自定义滤镜。

  • 语法

    -(int)onVideoRenderFilterCallback:(int)textureId width:(int)width height:(int)height rotation:(int)rotation mirror:(int)mirror;
  • 参数说明
    textureId:纹理ID。
    width:视频宽。
    height:视频高。
    rotation:视频旋转度数。
    mirror:1表示开启镜像,0表示关闭镜像。

  • 返回值
    纹理ID有效返回textureId,无效返回0。

自定义数据回调

  • 功能描述
    当收到自定义数据通知时,调用该接口。

  • 语法

    -(void)onCustomDataCallback: (const void*)data len:(int)len timestamp:(uint64_t)timestamp;
  • 参数说明
    data:自定义数据。
    len:数据长度。
    timestamp:时间戳。

翻译结果回调

  • 功能描述
    翻译完成,回调翻译结果。

  • 语法

    -(void)onTranslateTextComplete:(YouMeErrorCode_t)errorcode requestID:(unsigned int)requestID  text:(NSString*)text  srcLangCode:(YouMeLanguageCode_t)srcLangCode destLangCode:(YouMeLanguageCode_t)destLangCode;
  • 参数说明
    errorcode:翻译结果错误码。
    requestID:发送翻译的请求ID,唯一值。
    text:翻译结果内容。
    srcLangCode:被翻译文本的语种。
    srcLangCode:目标翻译语种。

回调远端pcm数据

  • 功能描述
    回调远端音频pcm数据。

  • 语法

    -(void)onPcmDataRemote: (int)channelNum samplingRateHz:(int)samplingRateHz bytesPerSample:(int)bytesPerSample data:(void*) data dataSizeInByte:(int)dataSizeInByte;
  • 参数说明
    channelNum:通道数。
    samplingRateHz:采样率。
    bytesPerSample:采样格式。
    data:音频数据。
    dataSizeInByte:数据长度。

回调本地pcm数据

  • 功能描述
    获取麦克风录音数据,回调到上层。

  • 语法

    -(void)onPcmDataRecord: (int)channelNum samplingRateHz:(int)samplingRateHz bytesPerSample:(int)bytesPerSample data:(void*) data dataSizeInByte:(int)dataSizeInByte;
  • 参数说明
    channelNum:通道数。
    samplingRateHz:采样率。
    bytesPerSample:采样格式。
    data:音频数据。
    dataSizeInByte:数据长度。

回调混音数据

  • 功能描述
    回调远端和本地录音数据。

  • 语法

    -(void)onPcmDataMix: (int)channelNum samplingRateHz:(int)samplingRateHz bytesPerSample:(int)bytesPerSample data:(void*) data dataSizeInByte:(int)dataSizeInByte;
  • 参数说明
    channelNum:通道数。
    samplingRateHz:采样率。
    bytesPerSample:采样格式。
    data:音频数据。
    dataSizeInByte:数据长度。

外部采集模式

设置外部输入音视频模式

  • 功能描述
    默认使用内部采集。如果使用外部采集,需要自己采集音视频,然后把数据传入SDK。在初始化之前设置。

  • 语法

    -(void)setExternalInputMode:(bool)bInputModeEnabled;
  • 参数说明
    bInputModeEnabled: true:外部输入模式,false:SDK内部采集模式。

设置语音采样率

  • 功能描述
    设置外部输入模式的语音采样率,在初始化之前设置。

  • 语法

    -(YouMeErrorCode_t) setExternalInputSampleRate:(YOUME_SAMPLE_RATE_t)inputSampleRate mixedCallbackSampleRate:(YOUME_SAMPLE_RATE_t)mixedCallbackSampleRate;
  • 参数说明
    inputSampleRate:输入语音采样率, 具体参考 YOUME_SAMPLE_RATE类型定义。
    mixedCallbackSampleRate:mix后输出语音采样率, 具体参考 YOUME_SAMPLE_RATE类型定义。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

输入音频数据

  • 功能描述
    外部输入音频数据。

  • 语法

    -(BOOL)inputAudioFrameEx:(void *)data Len:(int)len Timestamp:(uint64_t)timestamp ChannelNum:(int)channelnum bInterleaved:(bool)binterleaved;
  • 参数说明
    data: 指向PCM数据的缓冲区。
    len: 音频数据的大小。
    timestamp: 时间戳,单位毫秒。
    channelnum: 声道数,1:单声道,2:双声道,其它非法。
    binterleaved: 频数据打包格式(仅对双声道有效)。

  • 返回值
    true:成功, false:失败。

输入音频混音数据

  • 功能描述
    将多路音频数据流混合到麦克风或者扬声器的音轨里。

  • 语法

    -(bool)inputAudioFrameForMixStreamId:(int)streamId data:(void*)data length:(int)len frameInfo:(YMAudioFrameInfo_t)frameInfo timestamp:(uint64_t)timestamp;
  • 参数说明
    streamId:音频数据流ID。
    data:指向pcm数据的缓冲区。
    len:音频数据长度。
    frameInfo:音频数据的格式信息。
    timestamp:时间戳。

  • 返回值
    true:输入混音数据成功。
    false:输入混音数据失败。

输入yuv数据

  • 功能描述
    视频数据输入(房间内其它用户会收到YOUME_EVENT_OTHERS_VIDEO_INPUT_START事件)。

  • 语法

    -(BOOL)inputVideoFrame:(void *)data Len:(int)len Width:(int)width Height:(int)height Fmt:(int)fmt Rotation:(int)rotation Mirror:(int)mirror Timestamp:(uint64_t)timestamp;
  • 参数说明
    data: 视频帧数据。
    Len: 视频数据大小。
    Width: 视频图像宽。
    Height: 视频图像高。
    Fmt: 视频格式。
    Rotation: 视频旋转角度。
    Mirror: 是否镜像。
    Timestamp: 时间戳,单位毫秒。

  • 返回值
    true:成功, false:失败。

输入OpenGL数据

  • 功能描述
    视频数据输入(房间内其它用户会收到YOUME_EVENT_OTHERS_VIDEO_INPUT_START事件)。

  • 语法

    -(BOOL)inputPixelBuffer:(CVPixelBufferRef)PixelBufferRef Width:(int)width Height:(int)height Fmt:(int)fmt Rotation:(int)rotation Mirror:(int)mirror Timestamp:(uint64_t)timestamp;
  • 参数说明
    data: 视频帧数据。
    Width: 视频图像宽。
    Height: 视频图像高。
    Fmt: 视频格式。
    Rotation: 视频旋转角度。
    Mirror: 是否镜像。
    Timestamp: 时间戳,单位毫秒。

  • 返回值
    成功/失败。

停止视频输入

  • 功能描述
    停止视频数据输入(在inputVideoFrame之后调用,房间内其它用户会收到YOUME_EVENT_OTHERS_VIDEO_INPUT_STOP事件)。

  • 语法
    -(void)stopInputVideoFrame;

设置服务器区域

  • 功能描述
    设置首选连接服务器的区域码,在初始化之前设置。

  • 语法

    -(void)setServerRegion:(YOUME_RTC_SERVER_REGION_OC)serverRegionId regionName:(NSString*)regionName bAppend:(bool)bAppend;
  • 参数说明
    serverRegionId:如果YOUME_RTC_SERVER_REGION定义的区域码不能满足要求,可以把这个参数设为 RTC_EXT_SERVER,然后通过后面的参数 regionName 设置一个自定的区域值(如中国用 "cn" 或者 "ch"表示),然后把这个自定义的区域值同步给游密,我们将通过后台配置映射到最佳区域的服务器。
    regionName:自定义的扩展的服务器区域名。不能为null,可为空字符串""。只有前一个参数serverRegionId设为RTC_EXT_SERVER时,此参数才有效(否则都将当空字符串""处理)。
    bAppend:true表示添加,false表示替换。

日志管理

设置日志等级

  • 功能描述
    设置日志输出等级,在初始化之前设置。

  • 语法

    -(void) setLogLevelforConsole:(YOUME_LOG_LEVEL_t) consoleLevel forFile:(YOUME_LOG_LEVEL_t)fileLevel;
  • 参数说明
    consoleLevel:写入控制台日志级别,小于等于才会写入到控制台。
    fileLevel:写入文件日志级别,小于等于才会写入到文件。

设置用户自定义Log路径

  • 功能描述
    设置日志的路径,在初始化之前设置。

  • 语法

    -(YouMeErrorCode_t)setUserLogPath:(NSString *)path;
  • 参数说明
    path:Log文件的路径。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

初始化相关

初始化

  • 功能描述
    初始化语音引擎,做APP验证和资源初始化。

  • 语法

    -(YouMeErrorCode_t)initSDK:(id<VoiceEngineCallback>)delegate  appkey:(NSString*)appKey  appSecret:(NSString*)appSecret regionId:(YOUME_RTC_SERVER_REGION_t)regionId serverRegionName:(NSString*) serverRegionName;
  • 参数说明
    delegate:实现了回调函数的委托对象。
    appKey:从游密申请到的 app key, 这是应用程序的唯一标识。
    appSecret:对应 appKey 的私钥, 这个需要妥善保存,不要暴露给其他人。
    regionId:服务器区域ID,可参考 setServerRegion 接口中 serverRegionId 参数说明。
    serverRegionName:自定义的扩展的服务器区域名。可参考 setServerRegion 接口中 regionName 参数说明。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调

    -(void)onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param;
  • 事件类型
    涉及到的主要回调事件有:
    YOUME_EVENT_INIT_OK - 表明初始化成功。
    YOUME_EVENT_INIT_FAILED - 表明初始化失败,最常见的失败原因是网络错误或者 AppKey-AppSecret 错误。

判断是否初始化完成

  • 语法

    -(bool) isInited;
  • 返回值
    true——初始化完成,false——初始化未完成。

反初始化

  • 功能描述
    反初始化引擎,可在完全退出应用时调用,以释放SDK所有资源,运行中不建议反初始化,仅需进退频道即可。

  • 语法

    -(YouMeErrorCode_t)unInit;
  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

sdk基本信息

获取sdk信息

  • 功能描述
    获取sdk版本信息。

  • 语法

    -(int)getSDKVersion;
  • 返回值
    sdk版本信息。

设置网络

设置是否使用TCP

  • 功能描述
    设置是否使用TCP模式来收发数据,针对特殊网络没有UDP端口使用,必须在加入房间之前调用。

  • 语法

    -(YouMeErrorCode_t)setTCPMode:(bool)bUseTcp;
  • 参数说明
    bUseTcp:是否使用。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置是否允许使用移动网络

  • 功能描述
    设置是否允许使用移动网络。在WIFI和移动网络都可用的情况下会优先使用WIFI,在没有WIFI的情况下,如果设置允许使用移动网络,那么会使用移动网络进行语音通信,否则通信会失败。该接口需要在初始化后,加入房间前设置。

  • 语法

    -(void)setUseMobileNetworkEnabled:(bool)bEnabled;
  • 参数说明
    bEnabled:true——允许使用移动网络,默认为true;false——禁止使用移动网络。

获取是否允许使用移动网络

  • 功能描述
    获取是否允许SDK在没有WIFI的情况使用移动网络进行语音通信。

  • 语法

    -(bool) getUseMobileNetworkEnabled;
  • 返回值
    true——允许使用移动网络,false——禁止使用移动网络,默认情况下允许使用移动网络。

安全验证码设置V3

  • 功能描述
    设置身份验证的token,需要配合后台接口,若要使用请联系游密后台配置。

  • 语法

    -(void)setTokenV3:(NSString*) token timeStamp: (unsigned int)timeStamp;
  • token计算方式 采用SHA1加密算法,token=sha1(apikey+appkey+roomid+userid+timestamp)。 token由于涉及安全问题,正式使用在服务端进行计算。

  • 参数说明
    token:身份验证用token,设置为NULL或者空字符串,清空token值,不进行身份验证。
    timeStamp:用户加入房间的时间,单位s。

频道管理

加入频道(单频道)

  • 功能描述
    加入频道(单频道模式,每个时刻只能在一个频道里面),多次调用,会进入最后调用指定的频道。

  • 语法

    -(YouMeErrorCode_t) joinChannelSingleMode:(NSString *)strUserID channelID:(NSString *)strChannelID userRole:(YouMeUserRole_t)userRole autoRecv:(bool)autoRecv;
  • 参数说明
    strUserID:唯一的用户标识。
    strChannelID:唯一的频道标识。
    userRole:用户在语音频道里面的角色,见YouMeUserRole定义。
    autoRecv:进入房间后是否自动接收视频, 为 true 时自动接收,为 false 时,需要调用 setUsersVideoInfo 后才会接收对方的视频流。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调

    -(void)onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param;
  • 事件类型
    涉及到的主要回调事件有:
    YOUME_EVENT_JOIN_OK - 成功进入语音频道。
    YOUME_EVENT_JOIN_FAILED - 进入语音频道失败,可能原因是网络或服务器有问题,或是bCheckRoomExist为true时频道还未创建。

加入语音频道(多频道)

  • 功能描述
    加入语音频道(多频道模式,可以同时听多个语音频道的内容,但每个时刻只能对着一个频道讲话)。

  • 语法

    -(YouMeErrorCode_t) joinChannelMultiMode:(NSString *)strUserID channelID:(NSString *)strChannelID userRole:(YouMeUserRole_t)userRole;
  • 参数说明
    strUserID:唯一的用户标识。
    strChannelID:唯一的频道标识。
    userRole:用户在语音频道里面的角色,见YouMeUserRole定义。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调

    -(void)onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param;
  • 事件类型
    涉及到的主要回调事件有:
    YOUME_EVENT_JOIN_OK - 成功进入语音频道。
    YOUME_EVENT_JOIN_FAILED - 进入语音频道失败,可能原因是网络或服务器有问题,或是bCheckRoomExist为true时频道还未创建。

查询是否在某个语音频道内

  • 功能描述
    多频道模式下,通过指定频道ID查询自己是否在该频道内。

  • 语法

    -(bool) isInChannel:(NSString*) strChannelID;
  • 参数说明
    strChannelID:指定频道ID。

  • 返回值
    true——在频道内,false——没有在频道内。

查询是否在语音频道内

  • 功能描述
    单频道模式,查询自己是否在频道内。

  • 语法

    -(bool) isInChannel;
  • 返回值
    true——在频道内,false——没有在频道内。

指定讲话频道

  • 功能描述
    多频道模式下,指定当前要讲话的频道。

  • 语法

    -(YouMeErrorCode_t) speakToChannel:(NSString *)strChannelID;
  • 参数说明
    strChannelID:唯一的频道标识。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调

    -(void)onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param;
  • 事件类型
    涉及到的主要回调事件有:
    YOUME_EVENT_SPEAK_SUCCESS - 成功切入到指定语音频道。
    YOUME_EVENT_SPEAK_FAILED - 切入指定语音频道失败,可能原因是网络或服务器有问题。

踢出房间

  • 语法

    -(YouMeErrorCode_t) kickOtherFromChannel:(NSString*) userID  channelID:(NSString*)channelID   lastTime:(int) lastTime;
  • 参数说明
    userID:被踢的用户ID。
    channelID:从哪个房间踢出(自己需要在房间)。
    lastTime:踢出后,多长时间内不允许再次进入。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调

    -(void)onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param;
  • 事件类型
    涉及到的主要事件有:
    YOUME_EVENT_KICK_RESULT: 踢人方收到,发送消息的结果回调,param为被踢者ID。
    YOUME_EVENT_KICK_NOTIFY: 被踢方收到,被踢通知,会自动退出所在频道。param: (踢人者ID,被踢原因,被禁时间)。

退出指定的语音频道

  • 功能描述
    多频道模式下,退出指定的语音频道。

  • 语法

    -(YouMeErrorCode_t)leaveChannelMultiMode:(NSString *)strChannelID;
  • 参数说明
    strChannelID:唯一的频道标识。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调

    -(void)onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param;
  • 事件类型
    涉及到的主要回调事件有:
    YOUME_EVENT_LEAVED_ONE - 成功退出指定语音频道。

退出所有语音频道

  • 功能描述
    退出所有的语音频道(单频道模式下直接调用此函数离开频道即可)。

  • 语法

    -(YouMeErrorCode_t)leaveChannelAll;
  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调

    -(void)onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param;
  • 事件类型
    涉及到的主要回调事件有:
    YOUME_EVENT_LEAVED_ALL - 成功退出所有语音频道。

音频设备管理

切换语音输出设备

  • 功能描述
    默认输出到扬声器,在加入房间成功后设置。(iOS受系统限制,如果已释放麦克风则无法切换到听筒)

  • 语法

    -(YouMeErrorCode_t)setOutputToSpeaker:(bool)bOutputToSpeaker;
  • 参数说明
    bOutputToSpeaker:true——输出到扬声器,false——输出到听筒。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置音频输出设备状态

  • 功能描述
    设置音频输出设备状态。在加入房间成功后设置。

  • 语法

    -(void)setSpeakerMute:(bool)mute;
  • 参数说明
    mute:true——关闭音频输出设备,false——开启音频输出设备。

获取音频输出设备状态

  • 语法

    -(bool)getSpeakerMute;
  • 返回值
    true——音频输出设备关闭,false——音频输出设备开启。

设置麦克风状态

  • 功能描述
    设置麦克风开启或关闭状态。在加入房间成功后设置。

  • 语法

    -(void)setMicrophoneMute:(bool)mute;
  • 参数说明
    mute:true——关闭麦克风,false——开启麦克风。

获取麦克风状态

  • 语法

    -(bool)getMicrophoneMute;
  • 返回值
    true——麦克风关闭,false——麦克风开启。

设置是否通知别人音频设备的状态

  • 功能描述
    设置是否通知别人,自己麦克风和扬声器或者听筒的开关状态。

  • 语法

    -(void)setAutoSendStatus:(bool)bAutoSend;
  • 参数说明
    bAutoSend: true——通知,false——不通知。

控制他人麦克风

  • 功能描述
    控制他人的麦克风状态。

  • 语法

    -(void) setOtherMicMute:(NSString *)strUserID  mute:(bool) mute;
  • 参数说明
    strUserID:要控制的用户ID。
    mute:是否静音。true:静音别人的麦克风,false:开启别人的麦克风。

控制他人音频输出设备

  • 功能描述
    控制他人的音频输出设备状态。

  • 语法

    -(void) setOtherSpeakerMute: (NSString *)strUserID  mute:(bool) mute;
  • 参数说明
    strUserID:要控制的用户ID。
    mute:是否静音。true:静音别人的音频输出设备,false:开启别人的音频输出设备。

设置是否听某人的语音

  • 功能描述
    设置是否听某人的语音。

  • 语法

    -(void) setListenOtherVoice: (NSString *)strUserID  isOn:(bool) isOn;
  • 参数说明
    strUserID:要控制的用户ID。 on:true表示开启接收指定用户的语音,false表示屏蔽指定用户的语音。

设置麦克风静音时,是否释放麦克风设备

  • 功能描述
    设置当麦克风静音时,是否释放麦克风设备(需要在初始化成功后,加入房间之前调用)

  • 语法

    -(YouMeErrorCode_t) setReleaseMicWhenMute:(bool) enabled;
  • 参数说明
    enabled: true--当麦克风静音时,释放麦克风设备,此时允许第三方模块使用麦克风设备录音。false--不管麦克风是否静音,麦克风设备都会被占用。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置插入耳机时,是否自动退出系统通话模式

  • 功能描述
    设置插入耳机时,是否自动退出系统通话模式(禁用手机硬件提供的回声消除等信号前处理)。 系统提供的前处理效果包括回声消除、自动增益等,有助于抑制战歌等回声噪音,减少系统资源消耗。 由于插入耳机可从物理上阻断回声产生,故可设置禁用该效果以保留战歌的原生音质效果。

  • 语法

    -(YouMeErrorCode_t) setExitCommModeWhenHeadsetPlugin:(bool) enabled;
  • 参数说明
    enabled: true--当插入耳机时,自动禁用系统硬件信号前处理,拔出时还原;false--插拔耳机不做处理。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置耳返监听

  • 功能描述
    设置是否用耳机监听自己的声音,当不插耳机或外部输入模式时,这个设置不起作用,这是一个同步调用接口。这个功能必须进入频道传入身份为主播/指挥才能使用。

  • 语法

    -(YouMeErrorCode_t)setHeadsetMonitorMicOn:(bool)micEnabled BgmOn:(bool)bgmEnabled;
  • 参数说明
    micEnabled:是否监听麦克风 true 监听,false 不监听。 bgmEnabled:是否监听战歌 true 监听,false 不监听。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

释放麦克风

  • 功能描述
    释放麦克风资源。

  • 语法

    -(bool) releaseMicSync;
  • 返回值
    默认返回true。

恢复麦克风

  • 功能描述
    恢复释放麦克风之前的状态。

  • 语法

    -(bool) resumeMicSync;
  • 返回值
    默认返回true。

音频参数管理

设置音量

  • 功能描述
    设置当前程序输出音量大小。在加入房间成功后设置。

  • 语法

    -(void)setVolume:(unsigned int)uiVolume;
  • 参数说明
    uiVolume:当前音量大小,范围[0-100]。

获取音量

  • 功能描述
    获取当前程序输出音量大小,此音量值为程序内部的音量,与系统音量相乘得到程序使用的实际音量。

  • 语法

    -(unsigned int)getVolume;
  • 返回值
    当前音量大小,范围[0-100]。

设置语音检测

  • 功能描述
    设置是否开启语音检测回调,开启后频道内有人正在讲话与结束讲话都会发起相应回调通知。(需要游密后台配置开启,该状态值在加入房间成功后设置才有效,并且需要频道内所有用户都设置才生效。)

  • 语法

    -(YouMeErrorCode_t)setVadCallbackEnabled:(bool)enabled
  • 参数说明
    enabled:true——打开,false——关闭。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置是否开启讲话音量级别回调

  • 功能描述
    设置是否开启讲话音量级别回调, 并设置相应的参数。

  • 语法

    -(YouMeErrorCode_t) setMicLevelCallback:(int) maxLevel;
  • 参数说明
    maxLevel:音量最大时对应的级别,需大于1,最大可设100。根据实际需要设置小于100的值可以减少回调的次数(注意设置较高的值可能会产生大量回调,特别在Unity上会影响其它事件到达,一般建议不超过30)。比如你只在UI上呈现10级的音量变化,那就设10就可以了。设 0 表示关闭回调。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置是否开启远端音量级别回调

  • 功能描述
    设置是否开启远端语音音量级别回调, 并设置相应的参数。

  • 语法

    -(YouMeErrorCode_t) setFarendVoiceLevelCallback:(int) maxLevel maxMixedLevel:(int)maxMixedLevel;
  • 参数说明
    maxLevel:音量最大时对应的级别,需大于1,最大可设100。比如你只在UI上呈现10级的音量变化,那就设10就可以了。设 0 表示关闭回调。
    maxMixedLevel:所有用户音量混合后的最大时对应的级别,需大于1,最大可设100。比如你只在UI上呈现10级的音量变化,那就设10就可以了。设 0 表示关闭回调。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置音频采样率

  • 功能描述
    设置音频采样的质量,在加入房间前设置。

  • 语法

    -(void) setAudioQuality:(YOUME_AUDIO_QUALITY_t)quality;
  • 参数说明
    quality:0 表示低质量,16K采样率; 1 表示高质量,48K采样率。

设置音频数据回调使能

  • 功能描述
    设置是否开启音频pcm回调,以及开启哪种类型的pcm回调。在加入房间前调用。

  • 语法

    -(void) setPcmCallbackEnable:(int)flag outputToSpeaker:(bool)bOutputToSpeaker nOutputSampleRate:(int)nOutputSampleRate nOutputChannel:(int)nOutputChannel;
  • 参数说明
    flag:说明需要哪些类型的音频回调,共有三种类型的回调,分别是远端音频,录音音频,以及远端和录音数据的混合音频。flag格式形如PcmCallbackFlag_Romote| PcmCallbackFlag_Record|PcmCallbackFlag_Mix
    bOutputToSpeaker: 是否开启音频输出设备:true 开启;false 不开启。
    nOutputSampleRate: 音频回调数据的采样率:8000,16000,32000,44100,48000; 具体参考 YOUME_SAMPLE_RATE类型定义。
    nOutputChannel: 音频回调数据的通道数:1 单通道;2 立体声。

  • 回调接口
    onPcmDataRemote, onPcmDataRecord, onPcmDataMix

设置音频混音采样率

  • 功能描述
    将输入不同采样率的音频数据,按照指定的音频采样率来混音。

  • 语法

    -(YouMeErrorCode_t) setAudioMixerTrackSamplerate:(int)sampleRate;
  • 参数说明
    sampleRate:指定混音采样率。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置混音通道的音量增益

  • 功能描述
    音频数据进入混音通道之前,设置音频音量增益幅度。

  • 语法

    -(YouMeErrorCode_t) setAudioMixerTrackVolume:(int)volume;
  • 参数说明
    volume:音量增益值。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置输入混音的音量增益

  • 功能描述
    单路音频重采样后,设置音频音量增益幅度。

  • 语法

    -(YouMeErrorCode_t) setAudioMixerInputVolume:(int)volume;
  • 参数说明
    volume:音量增益值。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

开始音频数据混音

  • 功能描述
    开始将音频数据进行混音。

  • 语法

    -(YouMeErrorCode_t) pushAudioMixerTrackwithBuffer:(void*)pBuf nSizeInByte:(int)nSizeInByte nChannelNUm:(int)nChannelNUm nSampleRate:(int) nSampleRate nBytesPerSample:(int)nBytesPerSample bFloat:(bool) bFloat timestamp:(uint64_t) timestamp;
  • 参数说明
    pBuf:音频数据。
    nSizeInByte:音频数据长度。
    nChannelNUm:音频数据通道数。
    nSampleRate:采样率。
    nBytesPerSample:每一个采样字节数。
    bFloat:是否为浮点型。
    timestamp:时间戳。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

将音频数据输入到混音队列

  • 功能描述
    将音频数据输入到混音队列,准备执行混音。

  • 语法

    -(YouMeErrorCode_t) inputAudioToMixwithIndexId:(NSString*)indexId Buffer:(void*)pBuf nSizeInByte:(int)nSizeInByte nChannelNUm:(int)nChannelNUm nSampleRate:(int) nSampleRate nBytesPerSample:(int)nBytesPerSample bFloat:(bool) bFloat timestamp:(uint64_t) timestamp;
  • 参数说明
    indexId:音频索引。
    pBuf:音频数据。
    nSizeInByte:数据长度。
    nChannelNUm:通道数。
    nSampleRate:采样率。
    nBytesPerSample:每一个采样字节数。
    bFloat:是否为浮点型。
    timestamp:时间戳。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

视频设备管理

启动摄像头采集

  • 功能描述
    开启摄像头采集视频,在加入房间之后调用。

  • 语法

    -(YouMeErrorCode_t)startCapture;
  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

停止摄像头采集

  • 语法
-(YouMeErrorCode_t)stopCapture;

切换摄像头

  • 功能描述
    若当前为前置摄像头,调用该接口,则切换到后置摄像头;若当前为后置摄像头,调用该接口,则切换到前置摄像头。

  • 语法

    -(YouMeErrorCode_t)switchCamera;
  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

重置摄像头

  • 功能描述
    摄像头打开失败时,调用该接口重新打开摄像头。

  • 语法

    -(YouMeErrorCode_t)resetCamera;
  • 返回值
    YOUME_ERROR_CAMERA_OPEN_FAILED:打开摄像头失败。
    YOUME_SUCCESS:打开摄像头成功。

设置前置摄像头使能

  • 功能描述
    设置前置摄像头使能状态,然后调用startCapture,开始前置摄像头或者后置摄像头采集。默认为前置摄像头。

  • 语法
    -(YouMeErrorCode_t)setCaptureFrontCameraEnable:(bool)enable;
  • 参数说明
    enable: true-前置摄像头,false-后置摄像头。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

摄像头是否支持缩放

  • 语法

    -(BOOL)isCameraZoomSupported;
  • 返回值
    true:支持缩放,false:不支持缩放。

    设置摄像头缩放比例

  • 语法

    -(CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor;
  • 参数说明
    zoomFactor:指定缩放值。

  • 返回值
    最后配置成功的缩放值。

摄像头是否支持聚焦位置

  • 语法

    -(BOOL)isCameraFocusPositionInPreviewSupported;
  • 返回值
    true:支持聚焦,false:不支持聚焦。

设置摄像头聚焦位置

  • 语法

    -(BOOL)setCameraFocusPositionInPreview:(CGPoint)position;
  • 参数说明
    position:聚焦坐标。

  • 返回值
    true:设置聚焦位置成功,false:设置失败。

摄像头是否支持闪光灯

  • 语法

    -(BOOL)isCameraTorchSupported;
  • 返回值
    true:支持,false:不支持。

设置闪光灯状态

  • 语法

    -(BOOL)setCameraTorchOn:(BOOL)isOn;
  • 参数说明
    isOn:闪光灯状态。

  • 返回值
    true:设置成功,false:设置失败。

摄像头是否支持自动人脸对焦

  • 语法

    -(BOOL)isCameraAutoFocusFaceModeSupported;
  • 返回值
    true:支持,false:不支持。

使能摄像头自动人脸对焦

  • 语法

    -(BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable;
  • 参数说明
    enable:使能状态。

  • 返回值
    true:设置成功,false:设置失败。

视频参数管理

设置预览视频镜像开关

  • 功能描述
    设置预览本地采集数据镜像模式,在加入房间之前设置。

  • 语法

    -(int)setLocalVideoPreviewMirror:(bool) enable;
  • 参数说明
    enable: 预览是否开启镜像功能。

  • 返回值
    默认返回0。

设置视频帧率

  • 功能描述
    设置视频采样帧率,在加入房间之前设置。

  • 语法

    -(YouMeErrorCode_t)setVideoFps:(int)fps;
  • 参数说明
    fps: 帧率(3-30),默认15帧。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置渲染本地视频的分辨率

  • 功能描述
    设置本地视频渲染的分辨率,在加入房间之前设置。

  • 语法

    -(YouMeErrorCode_t)setVideoLocalResolutionWidth:(int)width height:(int)height;
  • 参数说明
    width: 宽。
    height: 高。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置编码分辨率

  • 功能描述
    设置视频编码分辨率,在加入房间之前设置。

  • 语法

    -(YouMeErrorCode_t)setVideoNetResolutionWidth:(int)width height:(int)height;
  • 参数说明
    width: 宽。
    height: 高。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置视频上行的码率范围

  • 功能描述
    设置视频上行的码率范围,在加入房间前设置。

  • 语法

    -(void) setVideoCodeBitrate:(unsigned int) maxBitrate  minBitrate:(unsigned int ) minBitrate;
  • 参数说明
    maxBitrate: 最大码率,单位kbps。
    minBitrate: 最小码率,单位kbps。

获取视频上行的码率

  • 语法

    -(unsigned int) getCurrentVideoCodeBitrate;
  • 返回值
    视频数据上行的当前码率。

设置VBR模式

  • 功能描述
    设置视频编码是否采用VBR动态码率方式。需要在进入房间前设置。

  • 语法

    -(YouMeErrorCode_t) setVBR:( bool) useVBR;
  • 参数说明
    useVBR: 默认为false,true表示使用VBR模式,允许码率在约1.5倍范围内波动。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

屏幕旋转

  • 功能描述
    屏幕旋转时,重新设置视频宽高。

  • 语法

    -(YouMeErrorCode_t) screenRotationChange ;
  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置是否开启硬编硬解

  • 功能描述
    实际是否开启硬解,还跟服务器配置及硬件是否支持有关,要全部支持开启才会使用硬解。如果硬编硬解失败,自动切换回软解。在进入房间前设置。

  • 语法

    -(void) setVideoHardwareCodeEnable:(bool) bEnable;
  • 参数说明
    bEnable: true:开启,false:不开启。

获取硬编硬解状态

  • 语法

    -(bool) getVideoHardwareCodeEnable;
  • 返回值
    true:开启,false:不开启。

设置视频编码方式

  • 功能描述
    设置视频回调方式,默认为false,开启硬编,同时回调opengl纹理方式。设置为true,则关闭硬编,回调yuv格式。

  • 语法

    -(void)setVideoFrameRawCbEnable:(bool) bEnable;
  • 参数说明
    bEnable:true表示回调yuv数据,false表示回调opengl纹理数据。

设置视频超时时间

  • 功能描述
    设置无视频帧渲染的超时时间。视频在连接中,超过设置的timeout时间没有收到数据,会得到YOUME_EVENT_OTHERS_VIDEO_SHUT_DOWN通知。

  • 语法

    -(void) setVideoNoFrameTimeout:(int) timeout;
  • 参数说明
    timeout: 单位毫秒。

获取是否使用OpenGL

  • 功能描述
    获取是否使用GL进行视频前处理。

  • 语法

    -(bool) getUseGL;
  • 返回值
    true:使用OpenGL,false:不使用OpenGL。

设置视频接收平滑模式开关

  • 功能描述
    设置视频下行重传。

  • 语法

    -(YouMeErrorCode_t)setVideoSmooth:(int)enable;
  • 参数说明
    enable: 开关 0:关闭平滑,1:打开平滑。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置视频上行反馈

  • 功能描述
    设置视频上行重传。

  • 语法

    -(YouMeErrorCode_t)setVideoUpFeedback:(int)enable;
  • 参数说明
    enable:true表示开启上行重传,false表示关闭。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置本地视频镜像模式

  • 语法

    -(int)setLocalVideoMirrorMode:(YouMeVideoMirrorMode_t) mode;
  • 参数说明
    mode:镜像模式,参见YouMeVideoMirrorMode类型。

  • 返回值
    默认0。

屏蔽他人视频

  • 功能描述
    向服务器发送屏蔽请求,屏蔽指定用户或者解除屏蔽。

  • 语法

    -(YouMeErrorCode_t) maskVideoByUserId:(NSString*) strUserId  mask:(bool) mask;
  • 参数说明
    userId: 用户ID。
    mask: true -屏蔽, false -恢复不屏蔽。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

本地屏蔽他人视频

  • 功能描述
    在本地禁止他人视频渲染。

  • 语法

    -(int)muteRemoteVideoStream:(NSString*)uid mute:(BOOL)mute;
  • 参数说明
    uid:用户ID。
    mute:屏蔽状态。

  • 返回值
    默认返回0。

屏蔽远端所有视频流

  • 功能描述
    屏蔽远端所有的视频流,默认为false。

  • 语法

    -(int)muteAllRemoteVideoStreams:(BOOL)mute;
  • 参数说明
    mute:true表示开启屏蔽,false表示关闭屏蔽。

  • 返回值
    默认为0。

设置默认屏蔽远端所有视频

  • 功能描述
    设置默认屏蔽远端所有的视频流,默认为false。

  • 语法

    -(int)setDefaultMuteAllRemoteVideoStreams:(BOOL)mute;
  • 参数说明
    mute:true表示默认开启屏蔽,false表示默认关闭。

  • 返回值
    默认为0。

设置解码前回调数据

  • 功能描述
    设置是否回调视频解码前H264数据,在加入房间之前设置。

  • 语法

    -(YouMeErrorCode_t) setVideoPreDecodeCallbackEnable:(bool)enable needDecodeandRender:(bool)decodeandRender;
  • 参数说明
    enable:true表示开启回调,false表示关闭回调。
    decodeandRender:true表示需要解码并渲染,false表示不需要。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

使能发送本地视频流

  • 功能描述
    使能是否发送本地视频,默认为开启状态。

  • 语法

    -(int)enableLocalVideoSend: (bool)enabled;
  • 参数说明
    enabled:true表示发送本地视频,false表示暂停发送视频。

  • 返回值
    默认为0。

高低两路视频流

SDK支持向服务器上传品质不同的两路流(不同的分辨率和码率),观看方根据自己的情况,设置拉取不同的流。默认不上传第二路流。

设置编码分辨率

  • 功能描述
    设置视频上传第二路流的编码分辨率。默认不传第二路流。如果对端订阅了第二路流,则会上传。

  • 语法

    -(YouMeErrorCode_t) setVideoNetResolutionWidthForSecond:(int)width height:(int)height;
  • 参数说明
    width: 宽 height: 高

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置帧率

  • 功能描述
    设置第二路流的帧率,在加入房间前设置。

  • 语法

    -(YouMeErrorCode_t)setVideoFpsForSecond:(int)fps;
  • 参数说明
    fps:视频帧率。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置视频上行码率范围

  • 功能描述
    设置第二路流的上行码率范围。在进入房间前设置。

  • 语法

    -(void) setVideoCodeBitrateForSecond:(unsigned int) maxBitrate  minBitrate:(unsigned int ) minBitrate;
  • 参数说明
    maxBitrate: 最大码率,单位kbps。
    minBitrate: 最小码率,单位kbps。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置VBR模式

  • 功能描述
    设置小流视频编码是否采用VBR动态码率方式。在进入房间前设置。

  • 语法
-(YouMeErrorCode_t) setVBRForSecond:( bool) useVBR;
  • 参数说明
    useVBR: 默认为false,true表示使用VBR模式,允许码率在约1.5倍范围内波动。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置视频大小流控制模式

  • 功能描述
    设置切换大小流模式,在进入房间前设置。

  • 语法

    -(YouMeErrorCode_t)setVideoNetAdjustmode:(int)mode;
  • 参数说明
    mode: 模式 0:自动调整,1:手动调整。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

查询多个用户视频信息

  • 功能描述
    查询多个用户支持哪种流。

  • 语法

    -(YouMeErrorCode_t) queryUsersVideoInfo:(NSMutableArray*)userArray;
  • 参数说明
    userArray: 用户ID列表。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调

    -(void)onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param;
  • 事件类型
    YOUME_EVENT_QUERY_USERS_VIDEO_INFO。

设置接收用户哪路流

  • 功能描述
    设置接收用户的哪一路流。如果设置了不支持的流,则采用默认的第一路流。

  • 语法

    -(YouMeErrorCode_t) setUsersVideoInfo:(NSMutableArray*)userArray resolutionArray:(NSMutableArray*)resolutionArray;
  • 参数说明
    userArray: 用户ID列表。
    resolutionArray: 用户对应分辨率列表(每一项为"0"-第一路流/"1"-第二路流)。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

屏幕共享

屏幕共享输入接口

  • 功能描述
    iOS共享需要replaykit支持,外部获取到replaykit回调的音视频数据,通过该接口输入给SDK。

  • 语法

    -(bool)inputPixelBufferShare:(RPSampleBufferType)sampleBufferType withBuffer:(CMSampleBufferRef)sampleBuffer;
  • 参数说明
    sampleBufferType: replaykit回调的流类型,是video,audio,还是mic。
    sampleBuffer: replaykit回调的数据流。

  • 返回值
    成功/失败。

设置共享流帧率

  • 功能描述
    设置共享流帧率,在加入房间之前设置。

  • 语法

    -(YouMeErrorCode_t)setVideoFpsForShare:(int)fps;
  • 参数说明
    fps:共享流帧率。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置共享流分辨率

  • 功能描述
    设置共享流编码分辨率,在加入房间之前设置。

  • 语法

    -(YouMeErrorCode_t)setVideoNetResolutionWidthForShare:(int)width height:(int)height;
  • 参数说明
    width:视频宽。
    height:视频高。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置共享流码率

  • 功能描述
    设置共享流码率,在加入房间之前设置。

  • 语法

    -(void) setVideoCodeBitrateForShare:(unsigned int) maxBitrate  minBitrate:(unsigned int ) minBitrate;
  • 参数说明
    maxBitrate: 最大码率,单位kbps. 0:使用默认值。
    minBitrate: 最小码率,单位kbps. 0:使用默认值。

设置VBR模式

  • 功能描述
    设置共享流动态码率,在加入房间之前设置。

  • 语法

    -(YouMeErrorCode_t) setVBRForShare:( bool) useVBR;
  • 参数说明
    useVBR:true表示开启动态码率,false表示关闭

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置音视频统计数据时间间隔

  • 功能描述
    设置音视频统计数据时间间隔, 按间隔回调 onAVStatistic

  • 语法

    -(void) setAVStatisticInterval:(int) interval ;
  • 参数说明
    interval: 时间间隔,单位毫秒。

渲染

创建渲染

  • 语法

    -(UIView*) createRender:(NSString*) userId parentView:(UIView*)parentView;
  • 参数说明
    userId: userId 用户ID。
    parentView: 渲染父视图。

  • 返回值
    返回渲染视图OpenGLESView对象。

删除渲染

  • 功能描述
    通过userId删除对应的渲染view。

  • 语法

    -(void) deleteRender:(NSString*) userId;
  • 参数说明
    userId: 用户ID。

清除渲染背景

  • 功能描述
    通过userId清除渲染view中的视频数据。

  • 语法

    -(void) cleanRender:(NSString*) userId;
  • 参数说明
    userId: 用户ID。

删除所有渲染

  • 语法
    -(void) deleteAllRender;

获取渲染视图数量

  • 语法

    -(int)getRenderCount:(NSString*) userId;
  • 参数说明
    userId:指定用户id。

  • 返回值
    指定用户渲染视图的数量。

设置本地渲染

  • 功能描述
    设置本地预览视图。

  • 语法

    -(UIView*) setLocalRender:(UIView*)parentView;
  • 参数说明
    parentView:渲染父视图。

  • 返回值
    渲染视图OpenGLESView对象。

使能本地渲染

  • 功能描述
    使能本地视频是否渲染。

  • 语法

    -(int)enableLocalVideoRender: (bool)enabled;
  • 参数说明
    enabled:true表示开启本地渲染,false表示关闭。

  • 返回值
    默认返回0。

设置渲染模式

  • 功能描述
    根据userId,设置用户视频渲染模式。例如适配view大小或者平铺整个view。

  • 语法

    -(int)setRenderMode:(NSString*)userId mode:(YouMeVideoRenderMode_t) mode;
  • 参数说明
    userId: 用户ID。
    mode: YouMeVideoRenderMode枚举类型。

视频数据合流

设置合流总尺寸

  • 功能描述
    把远端的视频和本地自己的视频合到一个画面,称为合流。本接口设置合流画面总的尺寸。

  • 语法

    -(void)setMixVideoWidth:(int)width Height:(int)height;
  • 参数说明
    width: 宽。
    height: 高。

设置user的合流位置

  • 功能描述
    设置user的视频数据在合流画面中展现的位置和尺寸。

  • 语法

    -(void)addMixOverlayVideoUserId:(NSString*)userId PosX:(int)x PosY:(int)y PosZ:(int)z Width:(int)width Height:(int)height;
  • 参数说明
    userId: 宽。
    PosX: x坐标。
    PosY: y坐标。
    PosZ: z坐标,影响视频的展示层级。
    Width: 宽。
    Height: 高。

取消user的合流

  • 语法

    -(void)removeMixOverlayVideoUserId:(NSString*)userId;
  • 参数说明
    userId: 指定用户ID。

取消所有user的合流

  • 语法
    -(void)removeAllOverlayVideo;

美颜

开启美颜

  • 功能描述
    开启美颜,默认是关闭美颜。

  • 语法

    -(YouMeErrorCode_t) openBeautify:(bool) open ;
  • 参数说明
    open: true-开启美颜,false-关闭美颜。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置美颜强度

  • 功能描述
    美颜强度参数设置。

  • 语法

    -(YouMeErrorCode_t) beautifyChanged:(float) param ;
  • 参数说明
    param: 美颜参数,0.0 -1.0 ,默认为0,几乎没有美颜效果,0.5左右效果明显。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置外部扩展滤镜回调

  • 功能描述
    打开外部扩展滤镜回调,则切到硬件渲染,关闭则回到软件渲染。

  • 语法

    -(bool)setExternalFilterEnabled:(bool)enabled;
  • 参数说明
    enabled: true 开启外部扩展滤镜回调,false关闭,默认 false。

  • 返回值
    true:成功,false:失败。

通话管理

暂停通话

  • 功能描述
    暂停通话,释放对麦克风等设备资源的占用。当需要用第三方模块临时录音时,可调用这个接口。

  • 语法

    -(YouMeErrorCode_t)pauseChannel;
  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调

    -(void)onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param;
  • 事件类型
    主要回调事件: YOUME_EVENT_PAUSED - 暂停语音频道完成。

恢复通话

  • 功能描述
    恢复通话,调用PauseChannel暂停通话后,可调用该接口恢复通话。(恢复通话后的麦克风的状态是和重新恢复通话时的角色相关,不一定与pauseChannel暂停通话时的麦克风状态一致)

  • 语法

    -(YouMeErrorCode_t)resumeChannel;
  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调

    -(void)onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param;
  • 事件类型
    主要回调事件: YOUME_EVENT_RESUMED - 恢复语音频道完成。

抢麦连麦相关接口

抢麦相关设置

  • 语法
-(YouMeErrorCode_t) setGrabMicOption:(NSString*) channelID mode:(int)mode maxAllowCount:(int)maxAllowCount maxTalkTime:(int)maxTalkTime voteTime:(unsigned int)voteTime;
  • 功能描述
    抢麦相关设置(抢麦活动发起前调用此接口进行设置)。

  • 参数说明
    channelID:抢麦活动的频道id。
    mode:抢麦模式(1:先到先得模式;2:按权重分配模式)。先到先得模式中,抢麦活动会持续,用户可以继续抢其他用户释放的麦。
    maxAllowCount:允许能抢到麦的最大人数(要大于0)。
    maxTalkTime:允许抢到麦后使用麦的最大时间(单位:秒,要大于0)。
    voteTime:抢麦仲裁时间(单位:秒,要大于0),过了X秒后服务器将进行仲裁谁最终获得麦(仅在按权重分配模式下有效)。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

发起抢麦活动

  • 语法
-(YouMeErrorCode_t) startGrabMicAction:(NSString*) channelID strContent:(NSString*) pContent;
  • 功能描述
    发起抢麦活动。接口需要加入房间后再调用。

  • 参数说明
    channelID:抢麦活动的频道id。
    pContent:游戏传入的上下文内容,通知回调会传回此内容(目前只支持纯文本格式)。

  • 返回值
    YOUME_SUCCESS:成功。
    其他:请参考YouMeErrorCode类型定义

停止抢麦活动

  • 语法
-(YouMeErrorCode_t) stopGrabMicAction:(NSString*) channelID strContent:(NSString*) pContent;
  • 功能描述
    停止抢麦活动。先到先得模式下,抢麦成功后,调用停止抢麦不会把当前抢麦人踢下麦。

  • 参数说明
    channelID:抢麦活动的频道id。
    pContent:游戏传入的上下文内容,通知回调会传回此内容(目前只支持纯文本格式)。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

发起抢麦请求

  • 语法
-(YouMeErrorCode_t) requestGrabMic:(NSString*) channelID score:(int)score isAutoOpenMic:(bool)isAutoOpenMic strContent:(NSString*) pContent;
  • 功能描述
    发起抢麦请求。

  • 参数说明
    channelID:抢麦的频道id。
    score:积分(权重分配模式下有效,游戏根据自己实际情况设置)。
    isAutoOpenMic:抢麦成功后是否自动开启麦克风权限。
    pContent:游戏传入的上下文内容,通知回调会传回此内容(目前只支持纯文本格式)。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

释放抢到的麦

  • 语法
-(YouMeErrorCode_t) releaseGrabMic:(NSString*) channelID;
  • 功能描述
    释放抢到的麦。

  • 参数说明
    channelID:抢麦的频道id。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

连麦相关设置

  • 语法
-(YouMeErrorCode_t) setInviteMicOption:(NSString*) channelID waitTimeout:(int)waitTimeout maxTalkTime:(int)maxTalkTime;
  • 功能描述
    连麦相关设置(角色是频道的管理者或者主播时调用此接口进行频道内的连麦设置)。

  • 参数说明
    channelID:连麦的频道id。
    waitTimeout:等待对方响应超时时间(秒)。
    maxTalkTime:最大通话时间(秒)。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

发起连麦请求

  • 语法
-(YouMeErrorCode_t) requestInviteMic:(NSString*) channelID strUserID:(NSString*)pUserID strContent:(NSString*) pContent;
  • 功能描述
    发起与某人的连麦请求(主动呼叫)。支持跨频道发起连麦。

  • 参数说明
    channelID:连麦的频道id。
    pUserID:被叫方的用户id。
    pContent:游戏传入的上下文内容,通知回调会传回此内容(目前只支持纯文本格式)。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

回应连麦请求

  • 语法
-(YouMeErrorCode_t) responseInviteMic:(NSString*) pUserID isAccept:(bool)isAccept strContent:(NSString*) pContent;
  • 功能描述
    对连麦请求做出回应(被动应答)。

  • 参数说明
    pUserID:主叫方的用户id。
    isAccept:是否同意连麦。
    pContent:游戏传入的上下文内容,通知回调会传回此内容(目前只支持纯文本格式)。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

停止连麦

  • 语法
-(YouMeErrorCode_t) stopInviteMic;

发送消息

广播消息

  • 功能描述
    在语音频道内,广播一个文本消息。

  • 语法

    -(YouMeErrorCode_t) sendMessage:(NSString*) channelID  strContent:(NSString*) strContent  requestID:(int*) requestID;
  • 参数说明
    pChannelID:频道ID(自己需要进入这个频道)。
    pContent:要广播的文本内容。
    requestID:用于标识消息的ID。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调

    -(void)onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param;
  • 事件类型
    涉及的主要事件有:
    YOUME_EVENT_SEND_MESSAGE_RESULT: 发送消息的结果回调,param为requestID的字符串。
    YOUME_EVENT_MESSAGE_NOTIFY:频道内其他人收到消息的通知。param为文本内容。

点对点发送消息

  • 功能描述
    在语音频道内,向具体用户发送文本消息。

  • 语法

    -(YouMeErrorCode_t) sendMessageToUser:(NSString*) channelID  strContent:(NSString*) strContent toUserID:(NSString*) toUserID requestID:(int*) requestID;
  • 参数说明
    pChannelID:频道ID(自己需要进入这个频道)。
    pContent:文本内容。
    toUserID:接收端用户ID。
    requestID:用于标识消息的ID。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调

    -(void)onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param;
  • 参数类型
    涉及到的事件有:
    YOUME_EVENT_SEND_MESSAGE_RESULT: 发送消息的结果回调,param为requestID的字符串。
    YOUME_EVENT_MESSAGE_NOTIFY:频道内其他人收到消息的通知。param为文本内容。

输入用户自定义数据

  • 功能描述
    发送自定义数据。

  • 语法

    -(YouMeErrorCode_t) inputCustomData:(const void *)data Len:(int)len Timestamp:(uint64_t)timestamp;
  • 参数说明
    data: 自定义数据,要广播的自定义数据。
    len: 数据长度,不能大于1024。
    timestamp: 时间戳。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 回调接口
    onCustomDataCallback:接收自定义数据。

翻译

  • 功能描述
    翻译一段文字为指定语言。

  • 语法

    -(YouMeErrorCode_t) translateText:(unsigned int*) requestID  text:(NSString*)text destLangCode:(YouMeLanguageCode_t)destLangCode srcLangCode:(YouMeLanguageCode_t)srcLangCode;
  • 参数说明
    requestID: 翻译请求的ID,传出参数,用于在回调中确定翻译结果是对应哪次请求。
    text: 要翻译的内容。
    destLangCode:要翻译成什么语言。
    srcLangCode:要翻译的是什么语言。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 回调接口
    onTranslateTextComplete:获取回调结果。

使能主线程回调

  • 功能描述
    使能在子线程中回调主线程的函数,并允许修改界面。

  • 语法

    -(int)enableMainQueueDispatch:(BOOL)enabled;
  • 参数说明
    enabled:true表示使能,false表示关闭。

  • 返回值
    默认返回0。

身份管理

切换身份

  • 功能描述
    切换身份(仅支持单频道模式,进入房间以后设置)。

  • 语法

    -(YouMeErrorCode_t) setUserRole:(YouMeUserRole_t) eUserRole;
  • 参数说明
    eUserRole:用户身份。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

获取身份

  • 功能描述
    获取身份(仅支持单频道模式)。

  • 语法

    -(YouMeUserRole_t) getUserRole;
  • 返回值
    用户身份,参见YouMeUserRole类型定义。

设置白名单用户

  • 功能描述
    设置当前用户的语音消息接收白名单,其语音消息只会转发到白名单的用户,不设置该接口则默认转发至频道内所有人。

  • 语法

    -(YouMeErrorCode_t) setWhiteUserList:(NSString*) channelID  whiteUserList:(NSString*) whiteUserList;
  • 参数说明
    strChannelID:要设置的频道(兼容多频道模式,单频道模式下传入当前频道即可)。 strWhiteUserList:白名单用户列表, 以|分隔,如:User1|User2|User3;"all"表示转发至频道内所有人;设置为自己表示不转发至任何用户。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调

    -(void)onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param;
  • 事件类型
    涉及到的主要回调事件有:
    YOUME_EVENT_SET_WHITE_USER_LIST_OK - 成功在指定语音频道设置白名单,有异常用户会返回错误码YOUME_ERROR_WHITE_SOMEUSER_ABNORMAL。
    YOUME_EVENT_SET_WHITE_USER_LIST_FAILED - 在指定语音频道设置白名单失败,可能原因是网络或服务器有问题。

战歌管理

播放战歌

  • 功能描述
    播放指定的音乐文件。播放的音乐将会通过扬声器输出,并和语音混合后发送给接收方。这个功能适合于主播/指挥等使用。建议使用mp3格式的文件,目前wav、flac格式的文件不支持。

  • 语法

    -(YouMeErrorCode_t)playBackgroundMusic:(NSString *)path  repeat:(bool)repeat;
  • 参数说明
    path:音乐文件的路径。
    repeat:是否重复播放,true——重复播放,false——只播放一次就停止播放。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调

    -(void)onYouMeEvent:(YouMeEvent_t)eventType errcode:(YouMeErrorCode_t)iErrorCode roomid:(NSString *)roomid param:(NSString *)param;
  • 事件类型
    主要回调事件:
    YOUME_EVENT_BGM_STOPPED - 通知战歌播放结束。
    YOUME_EVENT_BGM_FAILED - 通知战歌播放失败。

停止播放战歌

  • 功能描述
    停止播放当前正在播放的战歌。这是一个同步接口,函数返回时,音乐播放也停止了。

  • 语法

    -(YouMeErrorCode_t)stopBackgroundMusic;
  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

暂停播放战歌

  • 功能描述
    如果当前正在播放战歌,则暂停播放。

  • 语法

    -(YouMeErrorCode_t)pauseBackgroundMusic;
  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

恢复播放战歌

  • 功能描述
    如果当前暂停播放战歌,则恢复播放。

  • 语法

    -(YouMeErrorCode_t)resumeBackgroundMusic;
  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

战歌是否在播放

  • 功能描述
    获取战歌是否正在播放的状态。

  • 语法

    -(bool) isBackgroundMusicPlaying;
  • 返回值
    true——正在播放,false——没有播放。

设置战歌播放音量

  • 功能描述
    设定战歌的音量。这个接口用于调整战歌和语音之间的相对音量,使得战歌和语音混合听起来协调。该接口是同步调用接口。

  • 语法

    -(YouMeErrorCode_t)setBackgroundMusicVolume:(unsigned int)bgVolume;
  • 参数说明
    bgVolume:战歌的音量,范围 [0-100]。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置混响音效

  • 功能描述
    设置是否开启混响音效,这个主要对主播/指挥有用。

  • 语法

    -(YouMeErrorCode_t)setReverbEnabled:(bool)enabled;
  • 参数说明
    enabled:true——打开,false——关闭。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

设置时间戳

设置录音时间戳

  • 功能描述
    设置当前录音的时间戳。当通过录游戏脚本进行直播时,要保证观众端音画同步,在主播端需要进行时间对齐。 这个接口设置的就是当前游戏画面录制已经进行到哪个时间点了。

  • 语法

    -(void) setRecordingTimeMs:(unsigned int)timeMs;
  • 参数说明
    timeMs:当前游戏画面对应的时间点,单位为毫秒。

设置播放时间戳

  • 功能描述
    设置当前声音播放的时间戳。当通过录游戏脚本进行直播时,要保证观众端音画同步,游戏画面的播放需要和声音播放进行时间对齐。 这个接口设置的就是当前游戏画面播放已经进行到哪个时间点了。

  • 语法

    -(void) setPlayingTimeMs:(unsigned int)timeMs;
  • 参数说明
    timeMs:当前游戏画面播放对应的时间点,单位为毫秒。

查询频道用户列表

  • 功能描述
    查询频道当前的用户列表, 并设置是否获取频道用户进出的通知(OnMemberChange)。(必须自己在频道中)

  • 语法

    -(YouMeErrorCode_t) getChannelUserList:(NSString*) channelID maxCount:(int)maxCount notifyMemChange:(bool)notifyMemChange ;
  • 参数说明
    channelID:要查询的频道ID。
    maxCount:想要获取的最大人数。-1表示获取全部列表。
    notifyMemChange:其他用户进出房间时,是否要收到通知。

  • 返回值
    YOUME_SUCCESS:成功。 其他:请参考YouMeErrorCode类型定义

  • 异步回调
    onMemberChange

  • 备注
    首次查询用户列表时,假设当前房间内用户数是curCount,
    1、当传入的maxCount >= curCount时:
    OnMemberChange回调一次,返回房间内所有curCount个用户。
    2、当传入的maxCount < curCount时,OnMemberChange回调两次:
    第一次返回maxCount个用户;
    第二次返回其余curCount-maxCount个用户。
    3、当传入的maxCount = -1时,OnMemberChange回调两次:
    第一次只返回一个用户(按照用户id排序的最小值);
    第二次返回房间内剩余的curCount-1个用户。