【问题标题】:Record Audio Whilst Device is Locked iOS在设备锁定时录制音频 iOS
【发布时间】:2016-01-12 08:46:48
【问题描述】:

有没有人知道在设备锁定在 iOS 上时录制音频的有效方法?

目前我正在使用两个 AVAudioRecorder,一个用于监听噪音(audioListener),另一个用于实际记录这些噪音(audioRecorder)。 audioListener 始终在记录并获取噪音的仪表级别,因为它需要记录才能获得这些级别。如果这些噪音超过阈值,则 audioRecorder 开始录制 5 秒钟,然后在 audioRecorderDidFinishRecording 方法中将每个音频文件添加到数组中以供稍后参考。我也已经将 info.plist 中的“应用程序不在后台运行”键设置为 NO 并允许音频背景模式。

我还需要做一些测试,看看它是否在设备锁定时正确记录,但我想知道有没有其他方法可以做到这一点?

【问题讨论】:

    标签: ios iphone audio avfoundation avaudiorecorder


    【解决方案1】:

    您需要将音频类别设置为AVAudioSessionCategoryPlayAndRecord以及您所做的背景音频模式。

    查看AudioSession Programming Guide

    【讨论】:

    • 我已经这样做了,可能与没有正确保存音频文件有关。
    • 那是一个不同的问题
    • 我明白,我的意思可能不是录音问题,而是我如何保存数据。你知道我是否可以在设备锁定的情况下使用这种方法录制几个小时?
    • 你测试了吗?我会使用更底层的东西,比如带有 ExtAudioFileWriteAsync 的 Core-Audio。只需将从麦克风回调获得的缓冲区传递给 ExtAudioFileWriteAsync 函数。限制回调中的 Objective-C 或 Swift 调用,最好使用 C 或 C++。
    • 抱歉延迟回复。在我依靠计时器调用检查噪音是否高于一定音量的方法之前,我这样做的问题。我会假设这个计时器会在设备锁定时暂停。我需要研究一下你使用 Core Audio 的方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多