美文网首页
飞语语音通信sdk集成

飞语语音通信sdk集成

作者: 他说_8f83 | 来源:发表于2017-11-14 16:09 被阅读0次
1、会议语音接入流程

先初始化FYRtcEngineKit,并设置FYRtcEngineKitDelegate。AppId与AppToken在注册飞语云开发者的时候,在开发者中心获取。
注:该初始化方法可以多次调用用于设置FYRtcEngineKitDelegate(AppId与AppToken要填写正确)

FYRtcEngineKit *engineKit = [FYRtcEngineKit 
sharedEngineWithAppId:@"AppId" AppToken:@"AppToken" delegate:self];

调用加入会议接口joinChannel, 只要所有终端加入同一个channelId 就可以互相说话了。如果joinChannelBlock不为空,则会在加入会议成功之后调用该block回调同时也会调用- (void)onFYRtcEngine:(FYRtcEngineKit *)engine didJoinChannel:(NSString *)channelId Uid:(NSString *)uid回调。
注:uid可以为空,当uid为空时sdk会随机生成一个uid回调给开发者,请开发者注意保管

[engineKit joinChannel:@"channelId" Uid:@"uid" OptionData:data JoinSuccess:^(NSString *uid, NSString *channel) {
  //加入会议成功
 }];

离开会议

- (void)leaveChannel:(void(^)(FYRtcEngineStatus* stat))leaveChannelBlock

加入会议成功调用此回调

- (void)onFYRtcEngine:(FYRtcEngineKit *)engine didJoinChannel:(NSString *)channelId Uid:(NSString *)uid;

离开会议成功调用此回调

- (void)onFYRtcEngine:(FYRtcEngineKit *)engine didLeaveChannel:(NSString *)channelId Stats:(FYRtcEngineStatus *)status;

有人加入会议会调用此回调

- (void)onFYRtcEngine:(FYRtcEngineKit *)engine didJoinOfUid:(NSString *)uid;

有人离开会议会调用此回调

- (void)onFYRtcEngine:(FYRtcEngineKit *)engine didLeaveOfUid:(NSString *)uid;
2、拨打点对点语音接入流程

同会议语音接入流程一样先初始化FYRtcEngineKit,这里将不再重复说明。
主叫调用dialPeer进行网络拨打,calleeUid为被叫的uid,callerUid为主叫uid也可不填,例如:客户端A要给客户端B被叫拨打点对点语音,A的uid为“xiaoming”,B的uid为“xiaoli”,调用方法如下:
主叫调用:

 [engineKit dialPeer:@"xiaoli" CallerUid:@"xiaoming" OptionData:nil];

被叫调用:

 [engineKit calleePrepare:@"xiaoli" prepareSuccess:^{
  //被叫上线成功
 }];

客户端B此时应该调用calleePrepare来上线,等待客户端A的来电。
注:
1、如果此时app 没启动或者在后台,可以使用苹果voip push来推送来电消息,当app收到push消息后调用calleePrepare进行当前uid上线,准备接听电话。
2、calleePrepare成功之后在一分钟后会自动下线,不在接受任何来电,如果再有来电,需重新调用calleePrepare。

客户端A呼出成功之后回调此方法

- (void)onFYRtcEngine:(FYRtcEngineKit *)engine OutgoingCall:(NSString *)callee Uid:(NSString *)uid;

当客户端B上线成功之后会通过下面的回调收到客户端A的来电。

- (void)onFYRtcEngine:(FYRtcEngineKit *)engine IncomingCall:(NSString *)caller;

注:当收到IncomingCall回调时可以接听或者挂断电话(拒接)

呼出点对点语音或者拨打pstn电话接通之后回调此方法

- (void)onFYRtcEngineCallConnect:(FYRtcEngineKit *)engine;

注:主叫或被叫,一般在此回调之后开始通话计时。

3、拨打专线电话

如果要拨打电话号码请调用下面方法即可,如:主叫为18512345678、被叫17012345678。

[engineKit dialPstn:@"+8617012345678" CallerUid:@"uid"Display:@"+8618512345678" OptionData:nil];

Dispaly为被叫要显示的号码。
注:
1、拨打专线电话与点对点语音只有发起呼叫接口不同,其他接口与回调都可以通用(如:挂断、接听、静音、扬声器)。
2、所有电话号码格式必须为E164格式:CC+NDC+SN(CC=国家码,中国为86;NDC=国内目的码;SN=用户号码)号码开头必须带“+”。

4、关于OptionData参数

1、isRecord:是否录音,飞语sdk录音是在服务端录音,需要在服务端获取录音文件。具体参考官网录音文档(需要在飞语开发者中心开启录音之后此参数才能生效)
2、maxDuration:最大通话分钟数,控制每一通的电话的拨打时间。
3、extraData:扩展参数

相关文章

网友评论

      本文标题:飞语语音通信sdk集成

      本文链接:https://www.haomeiwen.com/subject/idrppxtx.html