iOS 7 多人连接流式音频

Posted

技术标签:

【中文标题】iOS 7 多人连接流式音频【英文标题】:iOS 7 multipeer connectivity streaming audio 【发布时间】:2013-12-04 12:36:52 【问题描述】:

有谁知道是否可以“实时”将我的 ios 设备麦克风的音频信号直播到其他 iOS 设备?我想通过 wifi 或蓝牙使用多点连接框架。

谢谢

这是它发送和接收消息的方式

发送回调:

- (IBAction)SendMessage:(id)sender 
  NSString *message = self.tfMessage.text;
  self.tfMessage.text = @"";
  NSData *data = [message dataUsingEncoding:NSUTF8StringEncoding];
  NSError *error;
  [self.Session sendData:data toPeers:[self.Session connectedPeers] withMode:MCSessionSendDataUnreliable error:&error];
  [self receiveMessage: message fromPeer: self.PeerID];

接收回调:

- (void) receiveMessage: (NSString *) message fromPeer: (MCPeerID *) peer
  NSString *formatedMessage;
  if (peer == self.PeerID) 
    formatedMessage = [NSString stringWithFormat:@"\n%@: %@ \n", peer.displayName, message];
  else
    formatedMessage = [NSString stringWithFormat:@"\n%@: %@ \n", peer.displayName, message];
  
  self.tvMessages.text = [self.tvMessages.text stringByAppendingString:formatedMessage];

初始化:

self.PeerID = [[MCPeerID alloc] initWithDisplayName:[UIDevice currentDevice].name];
self.Session = [[MCSession alloc] initWithPeer:self.PeerID];
self.Session.delegate = self;
self.browserViewController = [[MCBrowserViewController alloc] initWithServiceType:@"chat" session:self.Session];
self.browserViewController.delegate = self;
self.advertiser = [[MCAdvertiserAssistant alloc] initWithServiceType:@"chat" discoveryInfo:nil session:self.Session];
[self.advertiser start];

【问题讨论】:

你试过了吗?您的问题到底是什么(连接性?获取麦克风信号?)?请向我们展示受影响的代码 不,我不是,我可以创建对等点并在会话中将它们相互连接,这样我就可以从一个到另一个发送文本消息,但我应该使用什么来发送例如音频?我该怎么做? 请向我们展示您目前获得的代码(用于从一个对等方向另一个对等方发送短信)。然后我们可以尝试帮助您调整它以发送音频数据(提示:音频数据仍然就像“文本” - 使用数字而不是字母数字字符)。 见上面的代码谢谢 应该可以做到这一点。 GameKit 支持通过蓝牙和互联网进行语音聊天。使用蓝牙,您仅限于 8 人。我的幸运猜测是 Apple 在内部也使用了 Multipeer。 【参考方案1】:

查看this 代码。好像用的是CoreAudio,所以应该可以打开Mic AudioUnit,稍微改一下上面的代码。

【讨论】:

它对我不起作用。它只显示歌曲信息和图像,但没有播放歌曲【参考方案2】:

使用GKVoiceChat,它只需要一些钩子来连接数据。 GameKit 本身在 iOS 7 中已被弃用,但这个小小的服务似乎没有。实际上它与其他 GameKit 服务无关。

【讨论】:

请看***.com/questions/44943520/…

以上是关于iOS 7 多人连接流式音频的主要内容,如果未能解决你的问题,请参考以下文章

通过 POST 命令将音频从 ios 流式传输到 REST 服务器

IOS - 流式传输和下载音频文件

通过 socket.io 流式传输实时音频

哪个 iOS 音频 API 设计用于以低延迟从磁盘流式传输大型本地音频文件?

iOS 8 在 10 分钟后停止在后台流式传输音频

ios swift 2 解析中的流式音频