同一网络中iOS设备之间的实时语音聊天

时间:2012-05-28 15:17:16

标签: ios networking chat real-time voice

我正在app中工作,我需要在同一网络中的两台iOS设备之间实现简单的语音功能。

我的疑问是如何从主设备获取音频单元,并通过wifi或蓝牙网络直接发送到从设备。

关于网络通信的一些事情,我可以使用TCP在设备之间传输任何NSData。

不使用GK框架非常重要,因为我需要在没有任何通知的情况下连接两个客户端。例如,当我使用GK连接两个设备时,iOS会显示带有连接请求的警报,我需要避免此连接请求。

目前我可以用视频做到这一点,比音频更简单。 任何关于实现这一点的想法都是受欢迎的。

感谢。

2 个答案:

答案 0 :(得分:2)

首先,您需要了解如何使用Audio Queue Services捕获音频。

然后通过wifi和蓝牙传输音频数据,并在另一侧播放。

最明显的选择是使用 bonjour

GameKit框架建立在此基础之上。尽管如此,你不必在此基础上构建太多。你的是一个直接的bonjour应用程序。

如果需要,请参阅 chatty 的代码。如果你需要一些背景理论,请参考http://mobileorchard.com/tutorial-networking-and-bonjour-on-iphone/

答案 1 :(得分:1)

我已将音频队列服务用于同一类型的项目。

对于网络我正在使用Bonjour,它确实解决了传输文本和视频的问题。

使用音频队列服务在wifi上进行语音聊天有很多变通方法,但没有成功。一旦找到除此之外的解决方案,我会更新。