ios - 如何将 "Cancel"AVAudioSession 连接到另一个 View Controller ?

标签 ios avaudiosession avaudiorecorder swift4.2

我正在使用选项卡栏 Controller 创建音频录制应用程序。我使用 AVAudioRecorder 创建了一个 RecordingView ,并具有正确的 session 和 URL,该 URL 使用 segue 标识符将录音传递到另一个 View Controller 。

我遇到的问题是处理用户是否在完成录制 session 之前切换选项卡栏 View 。理想情况下,我想取消 session ,以便当他们返回录制 View 时一切都像新的一样。 Here is the code I used to pass the URL to another view.

我考虑过在没有选项卡栏的 View 中打开记录器,以便用户必须使用取消按钮才能离开 View ,但这是一个很好的学习体验。我知道这是一个简单的修复,但由于某种原因我无法弄清楚。预先感谢您提供的所有帮助:D

最佳答案

您可以在 RecordingViewController 中的 viewWillDisappearviewDidDisappear 方法中停止录制。当用户选择另一个选项卡时,将调用这些方法。

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)

    // Stop your recording session here.
}

关于ios - 如何将 "Cancel"AVAudioSession 连接到另一个 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55128493/

相关文章:

ios - 点击标记时如何删除谷歌地图上的形状(圆形)?

ios - UIRefreshControl 闪烁

ios - AVSpeechSynthesizer 错误 AudioSession

objective-c - 如何从 iOS 中的 AudioQueueRef 获取 float 音频数据数组?

ios - 类对象始终为空

ios - 从另一个类调用时如何修复处理 PanGestureRecognizer 的错误?

iphone - 从 iPhone 4 上的一个或两个麦克风录音

ios - 使用 AVAudioSession 更改音频输入源会导致崩溃

java - 麦克风输入的当前音量

iphone - iPhone-录制仅由应用播放的音频