objective-c - 如何在两个iOS设备之间实现语音和文本聊天

标签 objective-c ios text chat voice

我想实现一个应用程序,通过该应用程序可以在网络下的两个 iOS 设备之间进行语音和文本聊天。我不需要像 LinPhone 或 SiPhone 这样的任何电话的语音通话功能。我研究过它们,发现对我来说太复杂了。是否有任何简单的 SDK 可以实现这一点???

顺便说一下,用户身份可以通过电子邮件验证来完成....

最佳答案

我认为最好的方法是使用 XMPP 框架。使用 XMPP,您可以将文件和文本发送给其他人。使用它,您可以录制语音消息并将其发送出去。有一些链接:

GitHub Project Link for XMPP Chat

Building a Jabber Client for iOS: XMPP Setup

希望对你有所帮助。

编辑:

Apple 的 GameKit 框架提供了实现游戏内聊天所需的一切。

完整文档在这里:

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/AddingVoiceChattoaMatch/AddingVoiceChattoaMatch.html#//apple_ref/doc/uid/TP40008304-CH11-SW11

假设您已经使用 GameKit 将 App 连接到一个或多个其他玩家,您可以像这样开始语音聊天:

-(void) startInGameChat {
//Set up audio session
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:myErr];
[audioSession setActive: YES error: myErr];

GKMatch* match;
GKVoiceChat *teamChannel = [[match voiceChatWithName:@"redTeam"] retain];
GKVoiceChat *allChannel = [[match voiceChatWithName:@"allPlayers"] retain];

//Start the chat
[teamChannel start];

//Enable Mic
teamChannel.active = YES;

}

关于objective-c - 如何在两个iOS设备之间实现语音和文本聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13250498/

相关文章:

android:微调器的每个项目都有不同的颜色

python - 句子结构识别 - spacy

iOS 发送带有位置对象的短信

objective-c - 如何使用 NSTableView 的 selectedRowIndexes?

objective-c - 当我更改 UIView 时,我的 NavigationBar 没有

ios - 如何在 Xcode 6 中将设备添加到开发门户?

ios - 在 iOS6 中关闭/重新呈现 MFMessageComposeViewController 问题,但在 iOS5 中没问题

iphone - 如何在 Objective-C iOS 中利用 iPhone 5 上的 ARMv7s?

ios - NSDateFormater - 返回同一年的 2015 年和 2016 年日期

ios - AWS 忘记密码 : Unable to verify secret hash for client for iOS