iOS 基于环信SDK实现即时通讯-语音、视频聊天

这里创建的项目是在文字聊天项目:http://blog.csdn.net/create_pro/article/details/62420040基础上添加的功能,所以可能需要先去链接文章地址查看集成过程,具体项目链接在下面,这里只介绍使用环信SDK集成语音、视频通话:
需要用到的内容有:

EMCallManagerDelegate 语音视频代理
AVFoundation 音频输出
EMCallSession 会话信息

在info.plist里面添加:

<key>NSMicrophoneUsageDescription</key>
    <string>是否允许此App使用你的麦克风?</string>
    <key>NSCameraUsageDescription</key>
    <string>是否允许此App使用你的相机?</string>

添加代理方法为:

    [[EMClient sharedClient].callManager addDelegate:self delegateQueue:nil];

使用到的代理方法主要有:
- (void)callDidReceive:(EMCallSession *)aSession
//用户A拨打用户B用户B会收到这个回调、你希望在哪个页面可以监听被呼叫就把这个方法写在里面,记得遵守协议;

  • (void)callDidConnect:(EMCallSession *)aSession
    //通话通道完成,可以在这里创建音频输出设备和环境AVAudioSession

  • (void)callDidAccept:(EMCallSession *)aSession
    //用户B同意用户A的通话请求后,用户A会收到这个回调

  • (void)callDidEnd:(EMCallSession )aSession reason:(EMCallEndReason)aReason error:(EMError )aError
    //用户A或用户B挂断后对方会收到这个回调。或者通话出现错误、双方都会收到该回调

创建一个语音或者视频通话:

/*
*  @param aType            通话类型
 *  @param aRemoteName      被呼叫的用户(不能与自己通话)
 *  @param aExt             通话扩展信息,会传给被呼叫方
 *  @param aCompletionBlock 完成的回调
*/
[[EMClient sharedClient].callManager startCall:aType remoteName:aRemoteName ext:aExt completion:^(EMCallSession *aCallSession, EMError *aError) {

            if (!aError) {//创建成功
            }else{
            }

        }];

同意别人的会话邀请:

/*
_callSession.callId 会话ID
*/
 [[EMClient sharedClient].callManager answerIncomingCall:_callSession.callId];

结束通话:

/*
_callSession.callId 会话ID
aReason     挂断原因 (EMCallEndReason) 
*/
[[EMClient sharedClient].callManager endCall:_callSession.callId reason:aReason];

上面这些东西已经可以完成一个简单的语音、视频通话需求,具体实现可以到下面链接下载查看

链接:https://github.com/cwos111509sina/EMChatText.git

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值