【问题标题】:Why doesn't my audio in my game record in ReplayKit?为什么我的游戏中的音频没有在 ReplayKit 中录制?
【发布时间】:2016-04-06 17:11:02
【问题描述】:

我使用 MPMusicPlayerController 在我的应用程序中播放音频,并使用 RPScreenRecorder 录制屏幕。我遇到的问题是它只记录屏幕而不是应用程序中的音频。我遇到的另一个问题是,当我按下 previewController 的取消按钮时,它不会出于某种原因关闭视图。我究竟做错了什么?

@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")
}

【问题讨论】:

    标签: ios swift mpmusicplayercontroller replaykit


    【解决方案1】:

    好的,我成功了,但我必须使用 AVAudioPlayer 而不是 MPMusicPlayerController。由于某种原因,replaykit 不使用 MPMedia 录制音频。

    【讨论】:

    • 嗨@coding22 你能分享一下你是怎么做到的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 2020-12-01
    • 1970-01-01
    相关资源
    最近更新 更多