移动端音视频解决方案_第1页
移动端音视频解决方案_第2页
移动端音视频解决方案_第3页
移动端音视频解决方案_第4页
移动端音视频解决方案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、移动端音视频解决方案因为工作需要制作一个带即时音视频通话功能的 iOS项目APP,借此机会和大家分享心得。早前忙于工作都没时间去研究音视频通话这方面的技术,对音视频通话技术一无所知,不知道从何入手。然后我就上网搜索了一番,网上的信息真是“海量”啊,我要花很大的力气去查看和要去试用它,看它的功能和实用性是否适合我这类菜鸟型用户。经过网上搜索筛选了有几种音视频通话品牌,例如ArrowIM 的,奇普嘉的,AnyChat 的,JST 即时通讯的等等。我查看很多他们相关的信息,觉得选用 AnyChat 品牌的比较好,我选择他是因为我对音视频方面知识不懂,AnyChat 公司独有的一个技术论坛,解答用户使

2、用的一些技术问题,回复又快又专业,最适合我这种对音视频没基础的,据说技术论坛版主就是AnyChat的高管技术很牛,什么平台技术都精通能及时回应你问题,真是个活字典,不信?试过就知晓。AnyChat能轻松地将音视频通话功能嵌入到自己的应用中。此外,开发时在自己的应用中嵌入该音视频通话引擎时无需像嵌入某 XXQ通话一样必须首先拥有XXQ账号。做到了通话功能与账号认证的分离,因此该音视频引擎可以与开发者自有的用户账号体系集成,而不依赖于任何第三方账号。说这么多,就是简单易用支持多平台,最重要是有我想要的 iOS 平台,而且相关教程 API 解说等等都很齐全,数数手指头就那么几个简单API使用,就能创

3、造呈现出复杂的功能,这使我更加坚信选择它是对的。废话不多说,马上贴上我在使用AnyChat SDK For iOS 的步骤和方法。在 iOS 上,用AnyChat SDK 开发音视频功能,只需要准备一个 Mac 系统和 xcode开发软件就可以了,那事情当然要先下载好 AnyChat SDK 开发包。开发包里面提供了几个简单的工程案例 Demo 模板在src 目录下面,bin 目录下是演示程序APP的安装包, API 开发接口说明文档在 doc 里,最后开发引用到的库文件和协议文件都在sdk 文件夹。了解AnyChat SDK 开发包结构后就开始搭建开发环境和配置。一、 环境搭建配置1) 首先

4、在工程里面添加用到的系统框架,如下:AVFoundation.frameworkAudioToolbox.frameworkQuartzCore.frameworkCoreMedia.frameworkCoreVideo.frameworkCoreAudio.framework(不懂那添加库的,可以在Xcode软件菜单的PROJECTGeneralLink Frameworks and Libraries 里面,点击“+”号增加系统框架)2) 然后在同一个地方(添加系统框架的地方)下面有个“Add other”选项 添加 AnyChat 开发的库,库文件在之前说得 AnyChatSDK 开发包

5、的 /sdk / libs 目录下。全部都添加进去,见下图:3) AnyChat SDK 底层是 c+ 所以还需要添加 libstdc+.dylib 和 libstdc+.6.dylib 的支持库,和配置C+编译环境: Build Settings-Apple LLVM 5.1 - Language - C+ - C+ Standard Library 为:libstdc+(GNU C+ standard library) 见下图:4) 为了兼容不同设备的内核,最后配置调试器环境,具体有两个方法:a) 修改Build Active Architecture Only选项为 Yesb) 或者修改

6、Valid Architectures选项为 armv7见下图:5) 开发需要用到的 API 引用头文件,在 AnyChatSDK 包的 /sdk/include 目录里面,分别是: AnyChatPlatform.h AnyChatDefine.h AnyChatErrorCode.h在工程的头文件代码中记得添加他们:#import AnyChatPlatform.h#import AnyChatDefine.h#import AnyChatErrorCode.h个别需要显示获取本地视频图像的界面,还需要在头文件中添加引用 #import AVFoundation.h 。按照这几步配置,基本

7、环境就搭建好,可以打开 AnyChatSDK 包里面的 演示工程Demo,运行下,仿照他们的 Demo代码,把 AnyChat 音视频实现功能嵌入到自己的项目中。二、 HelloWorld模式简易流程现在对照这官方 helloAnyChat 工程,简单介绍下实现音视频功能的业务逻辑与当中使用到的主要的API接口。1) 设置通知中心监听回调事件:NSNotificationCenter defaultCenter addObserver:self selector:selector(AnyChatNotifyHandler:) name:ANYCHATNOTIFY object:nil;实现方法

8、:- (void)AnyChatNotifyHandler:(NSNotification*)notify NSDictionary* dict = notify.userInfo; AnyChat OnRecvAnyChatNotify:dict;2) 初始化 AnyChat SDK 进行与服务器链接,实现的API:AnyChatPlatform InitSDK:0;3) 在登陆 AnyChat 服务器大厅前需要用到协议API。协议里有7个方法都必须实现的,分别是:- (void) OnAnyChatConnect:(BOOL) bSuccess;- (void) OnAnyChatLogi

9、n:(int) dwUserId : (int) dwErrorCode;- (void) OnAnyChatEnterRoom:(int) dwRoomId : (int) dwErrorCode;- (void) OnAnyChatOnlineUser:(int) dwUserNum : (int) dwRoomId;- (void) OnAnyChatUserEnterRoom:(int) dwUserId;- (void) OnAnyChatUserLeaveRoom:(int) dwUserId;- (void) OnAnyChatLinkClose:(int) dwErrorCod

10、e;4) 正式登陆 AnyChat 音视频大厅,实现 API: AnyChatPlatform Connect: ServerIP : ServerPort;AnyChatPlatform Login:serName : ;(ServerIP变量:官方测试服务器IP是demo.AnyC, 也可以用自己部署的服务器IP。 ServerPort变量:官方测试服务器端口是8906 serName变量:登陆的用户名。 )5) 进入大厅里的房间,实现 API: AnyChatPlatform EnterRoom:roomNO :; (roomNO变量:官方测试房间分配了有4个,直接设置roomNO=1的房间就可以了)6) 获取房间里的用户列表,实现API: AnyChatPlatform GetOnlineUser;7) 选择用户进行音视频会话,实现 API: AnyChatPlatform UserSpeakControl: userid:YES; AnyChatPlatform SetVideoPos:userid:theUIImageView:0:0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论