2017-03-18 53 views
0

我正在構建一個IOS swift應用程序,我在添加視頻流到mediaStream時遇到了一些困難。將本地視頻添加到對等連接

我使用這個圖書館:https://github.com/Anakros/WebRTC一切工作就像一個魅力。除了視頻流。我不知道如何將視頻流綁定到媒體流。代碼:

var mediaStream: RTCMediaStream! 
@IBOutlet weak var localFrame: UIView! 
var peerConnectionFactory = RTCPeerConnectionFactory() 
var previewLayer = AVCaptureVideoPreviewLayer() 
let g = peerConnectionFactory.avFoundationVideoSource(with: nil); 
previewLayer = AVCaptureVideoPreviewLayer(session: g.captureSession) 
previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill 
previewLayer.connection.videoOrientation = AVCaptureVideoOrientation.portrait 
localFrame.layer.addSublayer(previewLayer) 

previewLayer.position = CGPoint(x: self.localFrame.frame.width/2, y: self.localFrame.frame.height/2) 
previewLayer.bounds = localFrame.frame 

localVideoTrack = peerConnectionFactory.videoTrack(with: g, trackId: VIDEO_TRACK_IDD) 
mediaStream.addVideoTrack(localVideoTrack) 

mediaStream = peerConnectionFactory.mediaStream(withStreamId: LOCAL_MEDIA_STREAM_IDD) 
mediaStream.addVideoTrack(localVideoTrack) 

經常死機該行:mediaStream.addVideoTrack(localVideoTrack),出現以下錯誤:fatal error: unexpectedly found nil while unwrapping an Optional value我不知道我做錯了什麼,因爲所有類型是正確的。

回答

1

我看到

mediaStream.addVideoTrack(localVideoTrack) 

您需要添加軌道之前創建的媒體流式兩份線。所以,評論拳頭線並嘗試。