FYRtcEngine:

  • 创建FYRtcEngine

+ (instancetype)sharedEngineWithAppId:(NSString *)appId
                             appToken:(NSString *)appToken
                             delegate:(id<FYRtcEngineKitDelegate>)delegate;
参数 是否必须 描述
appId 应用id
appToken 应用token
delegate 提供FYRtcEngineKit所有事件回调
  • 加入频道

- (void)joinChannel:(NSString *)channelId uid:(NSString *)uid option:(FYOptionData *)option;
参数 是否必须 描述
channelId 频道id,长度不超过40,支持范围: a-z,A-Z,0-9,_,-
uid 用户id,为空时SDK会生成一个uid
option 选项,可以配置最大时长、是否录音、透传数据
  • 离开频道

- (void)leaveChannel;
  • 将频道中某一个成员静音

- (void)muteAudio:(NSString *)uid channelId:(NSString *)channelId mute:(BOOL)enable;
参数 是否必须 描述
uid 被静音的成员uid
channelId 频道id
enable true:静音,false:取消静音
  • 将频道中除某一个成员之外的其他成员全部静音

- (void)muteOtherAudio:(NSString *)uid channelId:(NSString *)channelId mute:(BOOL)enable;
参数 是否必须 描述
uid 不被静音的成员uid
channelId 频道id
enable true:静音,false:取消静音
  • 将频道中所有成员静音


- (void)muteAllAudio:(NSString *)channelId mute:(BOOL)enable;
参数 是否必须 描述
channelId 频道id
enable true:静音,false:取消静音
  • 将本地Audio静音

- (void)muteLocalAudio:(BOOL)enable;
参数 是否必须 描述
enable true:静音,false:取消静音
  • 点对点语音

- (void)dialPeer:(NSString *)calleeUid callerUid:(NSString *)callerUid option:(FYOptionData *)option;
参数 是否必须 描述
calleeUid 被叫用户id
callerUid 主叫用户id,为空时SDK会生成一个uid
option 呼叫选项,可配置最大时长、是否录音、透传数据
  • 准备接听点对点来电

主叫呼叫被叫时,可以使用离线推送(如小米push)通知被叫,被叫调用calleePrepare准备接听来电,调用成功后一段时间内都可以接听到点对点语音来电。

- (void)calleePrepare:(NSString *)uid;
参数 是否必须 描述
uid 当前的uid
  • 结束通话

- (void)endCall;
  • 接听来电

- (void)answerCall;
  • 打开扬声器

- (void)enableSpeaker:(BOOL)enable;
参数 是否必须 描述
enable true:切换到扬声器,false:切换到听筒
  • 发送dtmf

- (void)sendDtmf:(char)dtmf;
参数 是否必须 描述
dtmf dtmf:0-9,*,#
  • 点对点来电铃声

- (void)setRing:(NSString *)path;
参数 是否必须 描述
path 来电铃声路径。音频文件必须是wav格式,16位采样且长度不能超过30秒。
  • 设置日志文件路径

+ (void)setLogfile:(NSString * _Nullable)path;
参数 是否必须 描述
path 日志文件的路径
  • 设置日志级别

+ (void)setLogFilter:(int)filter;
参数 是否必须 描述
filter 日志文件的级别,0:关闭,1:普通log,2:全部log

FYOptionData

通话需要的选项,可以为空。

@interface FYOptionData :NSObject
@property (nonatomic, assign) BOOL isRecord; // 是否录音,默认不录音
@property (nonatomic, assign) int maxDuration; // 最大通话时长,小于等于0为不限制
@property (nonatomic, copy) NSString * _Nullable extraData; // 透传数据
@end

FYRtcEngineKitDelegate

// SDK错误回调
- (void)rtcEngine:(FYRtcEngineKit *)engine didError:(FYError *)error;

// 加入频道成功
- (void)rtcEngine:(FYRtcEngineKit *)engine didJoinChannel:(NSString *)channel uid:(NSString *)uid;

// 离开频道
- (void)rtcEngine:(FYRtcEngineKit *)engine didLeaveChannel:(NSString *)channel;

// 用户加入频道
- (void)rtcEngine:(FYRtcEngineKit *)engine didJoinedOfUid:(NSString *)uid;

// 用户离开频道
- (void)rtcEngine:(FYRtcEngineKit *)engine didOfflineOfUid:(NSString *)uid;

// 用户静音状态改变
- (void)rtcEngine:(FYRtcEngineKit *)engine didAudioMuted:(BOOL)muted uid:(NSString *)uid;

// 点对点语音来电
- (void)rtcEngine:(FYRtcEngineKit *)engine didCallIncomingWithCaller:(NSString *)caller;

// 正在外呼
- (void)rtcEngine:(FYRtcEngineKit *)engine didCallOutgoingWithCallee:(NSString *)callee uid:(NSString *)uid;

// 通话接通
- (void)rtcEngineDidCallConnect:(FYRtcEngineKit *)engine;

// 通话结束
- (void)rtcEngineDidCallEnd:(FYRtcEngineKit *)engine;

// calleePrepare成功
- (void)rtcEngineDidCalleePrepareSuccess:(FYRtcEngineKit *)engine;



results matching ""

    No results matching ""