我正在app中工作,我需要在同一网络中的两台iOS设备之间实现简单的语音功能。
我的疑问是如何从主设备获取音频单元,并通过wifi或蓝牙网络直接发送到从设备。
关于网络通信的一些事情,我可以使用TCP在设备之间传输任何NSData。
不使用GK框架非常重要,因为我需要在没有任何通知的情况下连接两个客户端。例如,当我使用GK连接两个设备时,iOS会显示带有连接请求的警报,我需要避免此连接请求。
目前我可以用视频做到这一点,比音频更简单。 任何关于实现这一点的想法都是受欢迎的。
感谢。
答案 0 :(得分:2)
首先,您需要了解如何使用Audio Queue Services捕获音频。
然后通过wifi和蓝牙传输音频数据,并在另一侧播放。
最明显的选择是使用 bonjour。
GameKit框架建立在此基础之上。尽管如此,你不必在此基础上构建太多。你的是一个直接的bonjour应用程序。
如果需要,请参阅 chatty 的代码。如果你需要一些背景理论,请参考http://mobileorchard.com/tutorial-networking-and-bonjour-on-iphone/。
答案 1 :(得分:1)
我已将音频队列服务用于同一类型的项目。
对于网络我正在使用Bonjour,它确实解决了传输文本和视频的问题。
使用音频队列服务在wifi上进行语音聊天有很多变通方法,但没有成功。一旦找到除此之外的解决方案,我会更新。