1V1实时音视频常见问题


1、音视频通话有没有录制的服务?

环信SDK在3.6.0以后的版本,提供了环信服务器端录制音视频的服务,在发起音视频通话时可以选择是否开启录制: 发起实时通话

获取音视频通话录制文件文档: 获取录制文件


2、iOS端如何实现聊天页面内显示音视频通话的时长?

在此回调中做开始计时

//通话通道建立完成,用户A和用户B都会收到这个回调
- (void)callDidConnect:(EMCallSession *)aSession;

在此回调中结束计时,然后将通话时间用户通知发出去,然后在聊天页面内监听这个通知,插入一条通话时间的文本消息。

//用户A或用户B结束通话后,双方会收到该回调
- (void)callDidEnd:(EMCallSession *)aSession
            reason:(EMCallEndReason)aReason
             error:(EMError *)aError;

插入消息: 插入消息


3、用户离线怎么接收音视频通话?

参考文档: 离线发推送


4、iOS音视频通话如何添加提示音?

(1)在线时:

可以在监听音视频相关的代理方法里播放、停止播放本地音频文件(或者系统提示音)。 实时通话相关的回调

代理方法都在 EMCallManagerDelegate.h​ 这个头文件内。比如在收到音视频通话请求的代理方法内播放提示音,在通话请求建立成功以及在通话结束时(自己挂断、对方挂断)时停止播放提示音。这个可以针对自己的场景实现相关播放和停止播放提示音的逻辑。

(2)离线时:

发送方在 - (void)callRemoteOffline:(NSString *)aRemoteName 代理方法里给接收方发送文本消息时,自定义推送提示音,参考文档:自定义推送提示音


多人音视频会议常见问题


1、如何实现收到多人音视频会议邀请直接进入会议页面,不需要点击邀请消息再进入会议?

以环信iOS demo中的代码为示例,demo是在点击会议邀请消息时在进入会议的,那么在接收消息的回调里面判断出来是会议邀请消息,直接根据消息中的会议内容加入会议,进入会议音视频页面就可以了。 聊天页面内的接收消息的回调方法:

- (void)messagesDidReceive:(NSArray *)aMessages​{}

demo中点击会议邀请消息加入会话的方法封装在截图中标注的方法内,这个看下内容方法如何实现的,可以自己在接收消息的回调方法里面自己去操作。


2、怎么获取会议中的成员列表

成员加入会议后,代理方法会携带上多人会议成员对象aMember,需要开发者解析然后自己存储、维护

//有人加入会议
- (void)memberDidJoin:(EMCallConference *)aConference
               member:(EMCallMember *)aMember
{
    
}

3、怎么获取多人音视频会议成员个数?

[[EMClient sharedClient].conferenceManager getConference:@"9301839181" password:@"123" completion:^(EMCallConference *aCall, EMError *aError) {
        // 获取会议成员个数
        NSInteger memCount = aCall.memberCount;
}];

4、用户离开会议不知道是主动离开的还是用户离线后被动离开

如果对方是主动离开会议的,给会议的成员发条cmd消息,标记是主动离开的

如果没有收到cmd消息而监听到有人离开,那就说明不是主动离开的

通过监听此回调即可:

/*!
 *  \~chinese
 *  有人离开会议
 *
 *  @param aConference       会议实例
 *  @param aMember           离开的用户
 *
 *  \~english
 *  Someone leaved the conference
 *
 *  @param aConference       EMConference instance
 *  @param aMember           The leaved user
 */
- (void)memberDidLeave:(EMCallConference *)aConference
                member:(EMCallMember *)aMember;
 

—-

美颜实现Demo


下面是基于环信 IM Demo 集成相芯美颜SDK的 Demo, 可以参考下。

因为证书目前是短期的,只有代码参考: https://github.com/Faceunity/FUEaseIMDemoDroid https://github.com/Faceunity/FUEMiOSDemo