我有一个问题,在我播放我的屏幕后,我然后尝试录制屏幕,但它不工作.当我录制我的屏幕,然后我尝试播放屏幕时,同样的事情发生.我不想一起做btw.这是一个完成后,我尝试使用另一个.如果您需要查看代码或更多信息,请告知我们.我在
Swift 3中使用新的重播套件框架.谢谢!
编辑:这是使用代码IM
//LIVE STREAM REPLAYKIT===================================================================== func broadcastActivityViewController(_ broadcastAVC: RPBroadcastActivityViewController,didFinishWith broadcastController: RPBroadcastController?,error: Error?) { print("=====hello delegate \(broadcastController?.broadcastURL) (error)") self.broadcastController = broadcastController self.broadcastController?.delegate = self broadcastAVC.dismiss(animated: true) { self.broadcastController?.startBroadcast(handler: { error in print("start broadcast \(error)") print("\(broadcastController?.broadcastExtensionBundleID)") print("==url=\(broadcastController?.broadcastURL)") print("==serviceInfo=\(broadcastController?.serviceInfo)") //This is called when the broadcast is live }) } } func broadcastController(_ broadcastController: RPBroadcastController,didFinishWithError error: Error?) { print("broadcastController====delegate") let alert = UIAlertController(title: "Alert",message: "There was an error broadcasting your screen. Please try again",preferredStyle: UIAlertControllerStyle.alert) // show the alert self.view!.window?.rootViewController!.present(alert,animated: true,completion: nil) alert.addAction(UIAlertAction(title: "Okay",style: UIAlertActionStyle.destructive,handler: { action in // add action })) } func broadcastController(_ broadcastController: RPBroadcastController,didUpdateServiceInfo serviceInfo: [String : NSCoding & NSObjectProtocol]) { print("broadcastController====didUpdateServiceInfo") } //LIVE STREAM REPLAYKIT========================================================= //RECORD SCREEN REPLAYKIT------------------------------------------------------------------- func startRecoding() { let recorder = RPScreenRecorder.shared() if recorder.isAvailable { recorder.startRecording(handler: { (error) in if error == nil { // Recording has started } else { // Handle error print("Dont Allow Recording") } }) } else { print("Did not record screen") //if iphone or ipad doesnt support replaykit // create the alert let alert = UIAlertController(title: "Alert",message: "Please make sure your device supports ReplayKit!",preferredStyle: UIAlertControllerStyle.alert) // show the alert self.view!.window?.rootViewController!.present(alert,completion: nil) alert.addAction(UIAlertAction(title: "Try Again!",handler: { action in // add action })) } } func stopRecording() { let sharedRecorder = RPScreenRecorder.shared() sharedRecorder.stopRecording(handler: { (previewViewController: RPPreviewViewController?,error) in if previewViewController != nil { print("stopped recording") previewViewController!.previewControllerDelegate = self let alertController = UIAlertController(title: "Recording",message: "Tap view to watch,edit,share,or save your screen recording!",preferredStyle: .alert) let viewAction = UIAlertAction(title: "View",style: .default,handler: { (action: UIAlertAction) -> Void in self.view?.window?.rootViewController?.present(previewViewController!,completion: nil) }) alertController.addAction(viewAction) self.previewViewController = previewViewController! self.previewViewController.modalPresentationStyle = UIModalPresentationStyle.fullScreen self.view?.window?.rootViewController!.present(alertController,completion: nil) } else { print("recording stopped working") //create the alert================================ let alert = UIAlertController(title: "Alert",message: "Sorry,there was an error recording your screen. Please Try Again!",preferredStyle: UIAlertControllerStyle.alert) // show the alert self.view!.window?.rootViewController!.present(alert,completion: nil) alert.addAction(UIAlertAction(title: "Try Again!",handler: { action in // add action })) } }) } func previewControllerDidFinish(_ previewViewController: RPPreviewViewController) { print("cancel and save button pressed") previewViewController.dismiss(animated: true,completion: nil) //dismiss preview view controller when save or cancel button pressed }