ios - 在 webrtc 回调 "- (void)peerConnectionOnRenegotiationNeeded:(RTCPeerConnection *)peerConnection"中应该做什么?

标签 ios objective-c webrtc

我正在尝试让 webRTC 应用程序在 iPad (iOS7) 上运行。我的两台设备都显示本地视频,一台尝试显示远程视频(已添加流),但远程视频屏幕保持黑色。
在试图找出为什么我的远程视频屏幕是黑色的时,我发现了这个回调:

- (void)peerConnectionOnRenegotiationNeeded:(RTCPeerConnection *)peerConnection_ {
    NSLog(@"peerConnectionOnRenegotiationNeeded:(RTCPeerConnection *)%@",peerConnection_);
}

appRTC 示例中,它是这样实现的:

- (void)peerConnectionOnRenegotiationNeeded:(RTCPeerConnection*)peerConnection {
  dispatch_async(dispatch_get_main_queue(), ^{
    NSLog(@"PCO onRenegotiationNeeded - ignoring because AppRTC has a "
           "predefined negotiation strategy");
  });
}

调用这个方法应该做什么?我问这个是因为我认为我拥有与示例几乎相同的所有内容,只是信号不同,但它仍然不起作用。我想我应该在这个回调触发时做点什么,因为我没有像示例那样的“预定义协商策略”。

我的环境:

  • 在 iPad3 和 iPad4 上测试
  • 两者都运行最新的 iOS
  • 使用 Xcode 5.1.1 版 (5B1008) 进行开发
  • 我有自己的信令服务器
  • 我还没有设置 stun 服务器,因为我还在 LAN 上测试
  • 我尝试设置一个 stun 服务器,但没有任何区别

最佳答案

原来我只需要重新创建 sdp 并发送它,我现在就可以使用音频了。

关于ios - 在 webrtc 回调 "- (void)peerConnectionOnRenegotiationNeeded:(RTCPeerConnection *)peerConnection"中应该做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25420806/

相关文章:

objective-c - 向所有用户发送推送通知

iOs 为 VOIP 应用程序播放音频

ios - native 脚本警告 : Cannot find a valid certificate or provisioning profile for the iOS platform

objective-c - 为什么最终二进制文件的大小会比静态库的大小小得多?

objective-c - ASIHttp 同步请求在返回后运行委托(delegate)方法

javascript - 聊天使用什么协议(protocol)? webRTC 或 Websockets

javascript - 如何完全关闭媒体流 javascript 上的摄像头

javascript - Webrtc 将 ice 候选者添加到远程对等点

ios - 删除 UICollectionView 中的最后一个单元格会导致崩溃

ios - Sencha Touch + PhoneGAP Build - iOS 应用程序因存储设置而被拒绝