2016-04-06 21 views
1

Uygulamamda MPMusicPlayerController kullanarak ses oynatıyorum ve RPScreenRecorder kullanarak ekranı kaydediyorum. Benim sahip olduğum problem, sadece ekranın değil, uygulamanın sesini kaydettiğidir. Benim diğer sorun ise previewcontrolller için iptal düğmesine bastığımda, bir sebepten dolayı görüşü reddetmemesidir. Neyi yanlış yapıyorum?Oyunumdaki sesim neden ReplayKit'te yok?

@IBAction func stopTheRecordingAction(sender: AnyObject) { 

    stopTheRecording.hidden = true 
    recordButton.hidden = false 


    RPScreenRecorder.sharedRecorder().stopRecordingWithHandler { (previewController: RPPreviewViewController?, error: NSError?) -> Void in 

     if previewController != nil { 

      let alertController = UIAlertController(title: "Recording", message: "Do you wish to discard or view your gameplay recording?", preferredStyle: .Alert) 

      let discardAction = UIAlertAction(title: "Discard", style: .Default) { (action: UIAlertAction) in 
       RPScreenRecorder.sharedRecorder().discardRecordingWithHandler({() -> Void in 
        // Executed once recording has successfully been discarded 
       }) 
      } 

      let viewAction = UIAlertAction(title: "View", style: .Default, handler: { (action: UIAlertAction) -> Void in 
       self.presentViewController(previewController!, animated: true, completion: nil) 


      }) 

      alertController.addAction(discardAction) 
      alertController.addAction(viewAction) 

      self.presentViewController(alertController, animated: true, completion: nil) 

     } else { 

      // Handle error 
     } 
    } 
} 

@IBAction func recordScreen(sender: AnyObject) { 
    recordButton.hidden = true 
    stopTheRecording.hidden = false 

    if RPScreenRecorder.sharedRecorder().available { 
     RPScreenRecorder.sharedRecorder().startRecordingWithMicrophoneEnabled(true, handler: { (error: NSError?) -> Void in 
      if error == nil { // Recording has started 

      } else { 
       // Handle error 
      } 
     }) 
    } else { 
     // Display UI for recording being unavailable 

} 

} 




    func previewControllerDidFinish(previewController: RPPreviewViewController) { 
    previewController.dismissViewControllerAnimated(true, completion: nil) 
    print("dismiss") 
} 

cevap

0

Tamam ben o iş var ama ben AVAudioPlayer yerine MPMusicPlayerController kullanmak zorunda kaldı. Bazı sebeplerden dolayı replaykit MPMedia kullanarak sesi kaydetmiyor.

+0

hi @ coding22 bunu nasıl yaptığınızı paylaşır mısınız? – Shaun