2016-04-19 10 views
4

Ich mache eine Ratespiel-App, ich muss den Bildschirm aufzeichnen, wenn der Benutzer rät und auch die Audioausgabe des Geräts erfasst. Ich möchte, dass meine App ios8 unterstützt, also "ReplayKit" vom Tisch ist, und welches SDK soll ich verwenden? Ich bin ein Anfänger, wenn es ein Beispiel Code wäre viel mehr Hilfe, danke.Wie man Bildschirmvideo in swift aufzeichnet?

Antwort

2

Mit ReplayKit von Apple können Sie Ihren Benutzer Gameplay aufnehmen lassen, oder in Ihrem Fall, was auch immer der Benutzer tut.

Ein Link zur WWDC 2015 Präsentation enthalten ist here

Diese Funktionen dienen zum Starten und Stoppen der Aufnahme:

func startRecording() { 
     let recorder = RPScreenRecorder.sharedRecorder() 

     recorder.startRecordingWithMicrophoneEnabled(true) { [unowned self] (error) in 
      if let unwrappedError = error { 
       print(unwrappedError.localizedDescription) 
      } else { 
       self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Stop", style: .Plain, target: self, action: "stopRecording") 
      } 
     } 
    } 

    func stopRecording() { 
     let recorder = RPScreenRecorder.sharedRecorder() 

     recorder.stopRecordingWithHandler { [unowned self] (preview, error) in 
      self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Start", style: .Plain, target: self, action: "startRecording") 

      if let unwrappedPreview = preview { 
       unwrappedPreview.previewControllerDelegate = self 
       self.presentViewController(unwrappedPreview, animated: true, completion: nil) 
      } 
     } 
    } 
+0

Es ist eine gute Lösung, danke. Aber meine App wird auch für ios8 unterstützt, gibt es noch andere sdk, die ich benutzen kann? – Keater

+0

Ich denke, Sie können nur jailbreak :( –

+0

Sie könnten sehen, wie diese App funktioniert (http://www.redmondpie.com/how-to-record-iphone-screen-video-on-ios-8.3-8.4-without -jailbreak /) –

0

RPScreenRecorder ist irgendwie cool, obwohl Sie das Video nicht zugreifen konnte, oder sogar darauf zuzugreifen. Der einzige Weg, wie ich Videoaufnahmen machen kann, ist, Screenshots zu machen, sie in einem Array in Images zu speichern und dann in Video zu konvertieren. Es ist nicht cool aus Performance-Sicht und es ist schwer, 30 + fps zu erreichen, aber könnte für einige Anwendungsfälle funktionieren, hier ist die full manual how to do it.