您可以阅读本文,了解1对1语音聊天iOS端的集成操作。
前提条件
开发前的环境要求如下表所示,详情请参见:使用限制。
类别 | 说明 |
---|---|
iPhone设备 | 支持iPhone5及以上。 |
系统版本 | 支持iOS 8.0及以上。 |
CPU架构 | 支持真机架构armv7+arm64,不支持模拟器i386、x86架构。 |
Xcode版本 | 支持Xcode9.0及以上。下载Xcode。 |
其他 | 不支持Bitcode,不支持屏幕旋转。 |
您需要先集成服务端,具体操作,请参见集成服务端。
说明 您需要持有Apple开发证书或个人账号。
Demo运行指引
说明
您在集成iOS端时,如果遇到问题,或者Demo体验过程中出现无法创建房间或通话等问题,请参见iOS端运行常见问题。
Demo源码解析
- 项目结构说明。
说明 Demo是以Cocoapods Lib的方式集成到项目中的。
-
RTC把开发的业务代码封装到名称为AlivcVoiceCallSolo的库当中,这样AlivcVoiceCallSolo就可以像一个本地的第三方库一样。可以随便移植到其他项目中,只需在Podfile中指定AlivcVoiceCallSolo库的路径即可。如下所示:
pod 'AlivcVoiceCallSolo', :path => './AlivcVoiceCallSolo' ## pod 'AlivcVoiceCallSolo' 说明项目依赖AlivcVoiceCallSolo库 ## path => './AlivcVoiceCallSolo' 指明AlivcVoiceCallSolo库的位置(相对于Podfile)
名词解释如下:
- pod:表示工程依赖AlivcVoiceCallSolo库。
- path:表示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];
- 创建并加入频道。
在文档使用中是否遇到以下问题
更多建议
匿名提交