我在我的应用程序中使用了replaykit,在用户完成录制后,我提供了一个按钮来分享"该视频。我提供RPPreviewViewController
,如果我点击视频中的播放,当我返回应用时,音频无法正常工作。它只有在我回到之前的viewController
并返回录制的那个之后才能再次工作。
我的应用是音乐创作应用,因此音频非常重要。我甚至尝试在播放视图解散之后重新设置AVAudioSession
类别:
func showPreview() {
if let unwrappedPreview = self.preview {
unwrappedPreview.previewControllerDelegate = self
self.present(unwrappedPreview, animated: true, completion: nil)
} else {
let alert = UIAlertController(title: "No recordings to share", message: "By hitting the play or record button you can record a video of your composition to share with others. Once you hit stop, the recording will be saved and ready to share.", preferredStyle: .alert)
let okAction = UIAlertAction(title: "OK", style: .default, handler: nil)
alert.addAction(okAction)
self.present(alert, animated: true, completion: nil)
}
}
func previewControllerDidFinish(_ previewController: RPPreviewViewController) {
let audioSession = AVAudioSession.sharedInstance()
try! audioSession.setCategory(AVAudioSessionCategoryPlayback)
dismiss(animated: true)
}
答案 0 :(得分:1)
不确定这是否有任何帮助,但刚发现我们的问题,我们使用OalPlayback来获得音效。在显示预览控制器之前,我现在释放Oal对象,在解除预览后我创建了一个新对象。
答案 1 :(得分:0)
我使用ObjectAL也发现了这个问题。我能够通过使用此命令解决它:
OALAudioSession.sharedInstance().forceEndInterruption()
似乎replayKit没有结束中断。