通过阅读本文,您可以了解1对1语音聊天iOS端的集成操作。
环境要求
iOS端具体环境要求,更多信息,请参见使用限制。
前提条件
操作步骤
Demo目录结构说明
RTC把开发的业务代码封装到AlivcVoiceCallSolo库中,因此只需在Podfile中指定AlivcVoiceCallSolo库的路径,AlivcVoiceCallSolo就可以以本地第三方库的形式移植到其他项目中。如下所示:
pod 'AlivcVoiceCallSolo', :path => './AlivcVoiceCallSolo'
## pod 'AlivcVoiceCallSolo' 说明项目依赖AlivcVoiceCallSolo库
## path => './AlivcVoiceCallSolo' 指明AlivcVoiceCallSolo库的位置(相对于Podfile)
AlivcVoiceCallSolo组件库目录说明,如下所示:

文件名 | 说明 |
---|---|
AlivcVoiceCallSolo.podspec | 组件的描述文件。 |
AlivcVoiceCallSolo.bundle | 存放资源的bundle。 |
AlivcVoiceCallChannelViewController | 首页。 |
AlivcVoiceCallChattingViewController | 聊天页。 |
AlivcDismissTransition | 转场动画。 |
AlivcPanInteractiveTransition | |
AlivcPresentTransition | |
AlivcVoiceCallSettingViewController | 设置页。 |
AlivcVideoCallUserAuthrization | 工具类。 |
NSBundle+AlivcVoiceCallSolo | |
UIViewController+Alert | |
AliBaseHttpClient | 网络请求。 |
AliRequestList |
主要功能说明
- 创建并加入频道。
//实例化AliRtcEngine并设置代理。 _engine = [AliRtcEngine sharedInstance:self extras:@""]; //获取授权信息。 //AliRtcAuthInfo:各项参数均需要客户AppServer(客户的server端)通过OpenAPI来获取,然后AppServer下发至客户端,客户端将各项参数赋值后,即可joinChannel。 AuthInfo *authInfo = "从server端获取" [_engine joinChannel:authInfo name:name onResult:^(NSInteger errCode) { //加入频道回调处理 if (errCode == 0) { //加入房间成功 } else { //加入房间失败 } }];
- 离开频道。
//离开频道。 [self.engine leaveChannel]; //销毁SDK实例。 [AliRtcEngine destroy];
- 播放伴奏。
NSString *path = “文件的路径” NSString *url = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; //预加载音效文件。 [self.engine preloadAudioEffectWithSoundId:soundId filePath:url]; //播放音效。 [self.engine playAudioEffectWithSoundId:soundId filePath:url cycles:1 publish:YES];
- 暂停伴奏。
[self.engine pauseAudioEffectWithSoundId:soundId];
- 停止伴奏。
[self.engine stopAudioEffectWithSoundId:soundId];
- 恢复播放伴奏。
[self.engine resumeAudioEffectWithSoundId:soundId];
- 静音模式。
[self.engine muteLocalMic:YES];
- 取消静音模式。
[self.engine muteLocalMic:NO];
- 开启扬声器。
[self.engine enableSpeakerphone:YES];
- 关闭扬声器。
[self.engine enableSpeakerphone:NO];