WebRTC Swift RemoteStream 未呈现
WebRTC Swift RemoteStream not Rendering
我已经通过 Outlet 创建了 RTCMTLVideoView。
@IBOutlet weak var otherEndVideoHolderView : RTCMTLVideoView!
并从 RTCPeerConnectionDelegate 委托中收集 RTCMediaStream
func peerConnection(_ peerConnection: RTCPeerConnection, didAdd stream: RTCMediaStream) {
debugPrint("peerConnection did add stream")
if let video = stream.videoTracks.first{
self.remoteVideoTrack = video
self.delegate?.webRTCClient(self, didReceiveRemoteRender: video)
}
}
Offer 之后 -> Answer -> 并且对等状态为 connected。仅渲染本地视频。远程视频未呈现。
我最近从事 Webrtc 工作,并在 collectionview 单元格上添加了远程流。你可以使用我的代码。如果您有任何其他问题,请告诉我,我也会提供帮助。
let stream = VideoCallViewController.arrRemoteStreams[indexPath.row]
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "RmoteVideoCollectionViewCell", for: indexPath) as! RmoteVideoCollectionViewCell
cell.contentView.subviews.forEach({ [=10=].removeFromSuperview() })
#if arch(arm64)
// Using metal (arm64 only)
let remoteRenderer = RTCMTLVideoView(frame: CGRect.init(x: 0, y: 0, width: 150, height: 150))
remoteRenderer.videoContentMode = .scaleAspectFit
#else
// Using OpenGLES for the rest
let remoteRenderer = RTCEAGLVideoView(frame: CGRect.init(x: 0, y: 0, width: 150, height: 150))
#endif
//set stream to cell
stream.videoTracks.first?.add(remoteRenderer)
//adding stream to cellview
cell.contentView.addSubview(remoteRenderer)
我认为 iPhone X 和 11s 的 WEBRTC 存在问题。我已经提交了错误报告 here。如果错误报告描述了您的问题,请务必启动它,以便 Google 可以解决它。谢谢!
我已经通过 Outlet 创建了 RTCMTLVideoView。
@IBOutlet weak var otherEndVideoHolderView : RTCMTLVideoView!
并从 RTCPeerConnectionDelegate 委托中收集 RTCMediaStream
func peerConnection(_ peerConnection: RTCPeerConnection, didAdd stream: RTCMediaStream) {
debugPrint("peerConnection did add stream")
if let video = stream.videoTracks.first{
self.remoteVideoTrack = video
self.delegate?.webRTCClient(self, didReceiveRemoteRender: video)
}
}
Offer 之后 -> Answer -> 并且对等状态为 connected。仅渲染本地视频。远程视频未呈现。
我最近从事 Webrtc 工作,并在 collectionview 单元格上添加了远程流。你可以使用我的代码。如果您有任何其他问题,请告诉我,我也会提供帮助。
let stream = VideoCallViewController.arrRemoteStreams[indexPath.row]
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "RmoteVideoCollectionViewCell", for: indexPath) as! RmoteVideoCollectionViewCell
cell.contentView.subviews.forEach({ [=10=].removeFromSuperview() })
#if arch(arm64)
// Using metal (arm64 only)
let remoteRenderer = RTCMTLVideoView(frame: CGRect.init(x: 0, y: 0, width: 150, height: 150))
remoteRenderer.videoContentMode = .scaleAspectFit
#else
// Using OpenGLES for the rest
let remoteRenderer = RTCEAGLVideoView(frame: CGRect.init(x: 0, y: 0, width: 150, height: 150))
#endif
//set stream to cell
stream.videoTracks.first?.add(remoteRenderer)
//adding stream to cellview
cell.contentView.addSubview(remoteRenderer)
我认为 iPhone X 和 11s 的 WEBRTC 存在问题。我已经提交了错误报告 here。如果错误报告描述了您的问题,请务必启动它,以便 Google 可以解决它。谢谢!