iOS 7多重连接流式音频

时间:2013-12-04 12:36:53

标签: iphone ios7 bluetooth wifi multipeer-connectivity

有没有人知道是否有可能将我的iOS设备麦克风的音频信号直播到其他iOS设备中实时"?我想通过wifi或蓝牙使用多路连接框架。

谢谢

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

SendCallback:

- (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];
}

ReceiveCallback:

- (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];

2 个答案:

答案 0 :(得分:1)

查看this代码。它似乎使用CoreAudio,因此您应该能够打开Mic AudioUnit并稍微更改上面的代码。

答案 1 :(得分:0)

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