2017-03-18 6 views
0

私は、メディアストリームにビデオストリームを追加するのにいくつかの困難を抱えるIOSスウィフトアプリケーションを構築しています。ピア接続へのローカルビデオの追加

私はこのライブラリを使用しています: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) 

の重複行を参照してください。だから、コメントの拳の行を試してみてください。

関連する問題