使用webrtc

时间:2017-08-28 12:42:45

标签: ios webrtc replaykit

我使用WebRtc创建点对点连接以共享视频和音频。我想用replaykit来记录Screen& Microphone。如果在建立对等连接后开始录制,这意味着两者可以相互共享视频和音频。在这种情况下,repalykit无法录制屏幕&麦克风和previewController是黑色的。如果我在连接建立之前开始记录,则重播工作正常。如果我只选择记录屏幕或不添加RTCAudioTrack,它一直有效。
那么如何在webrtc中使用replaykit?
您可以开始使用apprtc-ios

进行测试

1 个答案:

答案 0 :(得分:1)

一旦呼叫开始,设备扬声器,麦克风和摄像机流将添加到对等连接,并且它将不可用于应用程序中的其他输出。遵循iOS 11中引入的新API。

/*! @abstract Starts screen and audio capture and continually calls the 
supplied handler with the current sampleBuffer and bufferType and passed it 
back to the application. Note that before recording actually starts, the 
user may be prompted with UI to confirm recording.
@result handler Called continually with sampleBuffers and the bufferType. 
Will be passed an optional NSError in the RPRecordingErrorDomain domain if 
there was an issue starting the capture.
*/

- (void)startCaptureWithHandler:(nullable void(^)(CMSampleBufferRef 
sampleBuffer, RPSampleBufferType bufferType, NSError * _Nullable 
error))captureHandler completionHandler:(nullable void(^)(NSError * 
_Nullable error))completionHandler API_AVAILABLE(ios(11.0), tvos(11.0));

此API用于捕获扬声器,麦克风和视频示例缓冲区,您可以使用AVFoundation中的AVAssetWriter将它们写入文件。