我正在使用GoogleWebRTC(1.1.27828)窗格在Swift中进行视频通话功能。 代码可以在具有iOS 13.4的iPhone 7 Plus上运行,也可以在具有iPad OS 13.4的iPad Air 3上运行,相同版本。 Xcode是版本11.4(11E146)。 mac OS是10.15.4(19E266)。
一切似乎都很好,远程音频也可以;但是远程视图仍然是黑色的。 下面是有问题的事件处理程序:
func peerConnection(_ peerConnection: RTCPeerConnection, didAdd stream: RTCMediaStream) {
let ac = stream.audioTracks.count
let vc = stream.videoTracks.count
print("\(#function) peer.onaddstream(): # of tracks: A=\(ac) V=\(vc)")
self.remoteVideoTrack = stream.videoTracks.first
print("track: \(String(describing: self.remoteVideoTrack)), view: \(self.remoteVideoView)")
DispatchQueue.main.async {
self.remoteVideoTrack!.add(self.remoteVideoView)
}
}
控制台日志如下。
peerConnection(_:didAdd:) peer.onaddstream(): # of tracks: A=1 V=1
track: Optional(RTCMediaStreamTrack:
video
7879E59A-6313-497B-821F-7D22AC5EF35A
enabled
Live), view: <RTCEAGLVideoView: 0x105d74fc0; frame = (138.667 0; 67.3333 100); autoresize = RM+BM; layer = <CALayer: 0x28023a220>>
也没有例外。
那为什么在音频还可以的情况下视图仍然是黑色的呢? 有人可以帮忙吗?非常感谢!