Monkey original, welcome reprint. Reproduced please specify: Reproduced from COCOS2DER-CSDN, thank you!
Original address: http://blog.csdn.net/cocos2der/article/details/50260873
IOS9 Replaykit video recording, API is very simple, the following is the code, objective-c similar, will not write.
////Replaykitproxy.swift//Replaykitdemo////Created by Liuyanghui on 15/12/11.//Copyright 2015 Liuyanghui. All rights reserved.//ImportUIKitImportReplaykitclass Replaykitproxy:nsobject, Rppreviewviewcontrollerdelegate {Private varRootviewcontroller:uiviewcontroller? Private varPreviewviewcontroller:rppreviewviewcontroller?Classvarsharedinstance:replaykitproxy {struct static {staticvaroncetoken:dispatch_once_t= 0StaticvarInstance:replaykitproxy? =Nil} dispatch_once (&Static.Oncetoken) {Static.Instance=Replaykitproxy () Static.Instance?.InitData ()}returnStatic.Instance!}PrivateFunc InitData () {}/// start recording videoFunc startrecording () { LetRecorder=Rpscreenrecorder.Sharedrecorder ()ifRecorder.Available== false{Print ("Replaykit is not available")return}ifRecorder.Recording== true{Print ("Replaykit is recording")return} Recorder.Startrecordingwithmicrophoneenabled (true) {(Error) -Void inch ifError!=Nil {print (Error?.localizeddescription)}}}/// stop recording videoFunc stoprecording () { LetRecorder=Rpscreenrecorder.Sharedrecorder ()ifRecorder.Recording== false{return} Recorder.Stoprecordingwithhandler {(Previewviewcontroller, error) -Void inch ifError!=Nil {print (Error?.Localizeddescription)}Else if LetViewcontroller=previewviewcontroller{Viewcontroller.Previewcontrollerdelegate= Self Self.Previewviewcontroller=Viewcontroller}}}/// Delete recorded video, must be called after stoprecordingFunc discardrecording () { LetRecorder=Rpscreenrecorder.Sharedrecorder ()ifRecorder.Recording== true{return} Recorder.Discardrecordingwithhandler {() -Void inchPrint"discardrecording Complete") } }/// display videoFunc displayrecordingcontent () {Rootviewcontroller?.Presentviewcontroller ( Self.Previewviewcontroller!, Animated:true, completion: {() -Void inchPrint"Display Complete") }) }//MARK:-DelegateFunc Previewcontrollerdidfinish (previewcontroller:rppreviewviewcontroller) {Previewcontroller.Dismissviewcontrolleranimated (true) { () -Void inch} }}
IOS9 Replaykit Recording Video