2015-11-02 2 views
10

Ich bin relativ neu in iOS-Entwicklung und Swift, aber ich habe eine App, an der ich arbeite, die Aktivität auf dem Bildschirm aufnehmen und das resultierende Video speichern soll zur Kamera rollen. Ich verwende ReplayKit.So speichern Sie ReplayKit Video auf Kamera mit In-App-Button

Was arbeitet jetzt:

Dies ist der Code ich die Aufnahme haben beginnt und endet die Aufnahme die startRecording() Funktion durch eine Taste ausgeführt wird, der „Start“ und der stopRecording() Funktion sagt wird durch ein angerufenes Knopf, der "Halt" sagt.

var preview : RPPreviewViewController? 

    func startRecording() { 
     let recorder = RPScreenRecorder.sharedRecorder() 
     recorder.startRecordingWithMicrophoneEnabled(true) { 
      [unowned self] (error) in 
      print(recorder) 
      if let unwrappedError = error { 
       print(unwrappedError.localizedDescription) 
      } 
     } 
    } 

    func stopRecording() { 
     let recorder = RPScreenRecorder.sharedRecorder() 
     recorder.stopRecordingWithHandler { 
      [unowned self] (preview, error) in 
       if let unwrappedError = error { 
        print(unwrappedError.localizedDescription) 
       } 

     if let unwrappedPreview = preview { 
      print("end") 
      unwrappedPreview.previewControllerDelegate = self 
    unwrappedPreview.modalPresentationStyle=UIModalPresentationStyle.FullScreen 
      self.presentViewController(unwrappedPreview, animated: true, completion: nil) 
     } 
    } 

Der Bildschirm zeichnet gut auf. Ich habe eine Schaltfläche, die "Finish" sagt, die die StopRecording() -Funktion aufrufen wird. Wenn Sie auf diese Schaltfläche klicken, wird eine Vorschau angezeigt, in der das aufgenommene Video wiedergegeben wird und der Benutzer das Video manuell bearbeiten und speichern kann.

Was ich versuche zu tun zu:

Ich brauche die Taste einfach speichern das Video zu machen, wie in der Filmrolle ist. Ich möchte den Vorschaubildschirm umgehen, der dem Benutzer erlaubt, zu editieren und manuell zu speichern. Ist das möglich? Wenn ja, wie würden Sie das Problem angehen?

Die Vorschau ist vom Typ RPPreviewViewController? und versuchen Sie, wie ich könnte, kann ich einfach nicht auf das Video zum Speichern zugreifen. Da ReplayKit eine Erweiterung von UIKit ist, habe ich versucht, die

UISaveVideoAtPathToSavedPhotosAlbum(_ videoPath: String, _ completionTarget: AnyObject?, _ completionSelector: Selector, _ contextInfo: UnsafeMutablePointer<Void>) 

Methode verwendet, aber keines dieser Attribute vorhanden!

Wenn Sie weitere Informationen benötigen, lassen Sie es mich bitte wissen. Wenn ich ein Idiot bin, lass es mich wissen! Dies ist mein erster Beitrag hier, also sei nett! und danke.

Antwort

2

Ich wollte auch tun, was Sie gefragt haben, aber ab sofort bietet RPScreenRecorder keine dieser Funktionalitäten.

Verwandte Themen