【问题标题】:AvAudioRecorder stops/restart after recording just startedAvAudioRecorder 在刚开始录制后停止/重新启动
【发布时间】:2016-12-17 13:10:22
【问题描述】:

在 iOS 10.2 应用程序中,设置了 AVAudioRecorder 来录制和显示电平表:

recorder = [[ AVAudioRecorder alloc] initWithURL:url settings:recordSetting error:&error];
[recorder setDelegate:self];
[recorder prepareToRecord];
[recorder record];

当我启动记录器时,我注意到 vu-meter 没有更新。我注意到audioRecorderDidFinishRecording: successfully: 方法在录制开始后立即被调用。但是 AVAudioRecorder 在那之后仍然记录。并且可以保存和播放音频文件。

更奇怪的是,当我暂停录制并继续录制时,audioRecorderDidFinishRecording: successfully: 不会像第一种情况那样被触发,并且录制会随着 vu-meter 更新而继续。

知道这种奇怪的行为吗?

【问题讨论】:

    标签: ios objective-c audio-recording avaudiorecorder


    【解决方案1】:

    当你设置AVPlayer时,你必须记住只能做一个实例,你可以播放录制的音频,也可以运行录音机。因此,您必须相应地管理代理和 AVPlayer 配置设置。

    希望它有效。

    【讨论】:

    • 我在录音阶段不使用任何AVPlayer,只有一个AudioRecorder实例。我检查了那个。前段时间在iOS 8下编译,我没有这种奇怪的行为,而在我的应用程序的记录器部分使用完全相同的代码......在iOS10.2上运行这个旧版本没有问题......跨度>
    • 重新阅读您的答案后解决:事实上,audioRecorderDidFinishRecording:successfully: 延迟触发(当应用程序针对 iOS10.2 编译时似乎更长)。由于我使用临时记录器来显示信号电平,并在创建实际记录器之前停止/释放它,因此该方法在此记录器开始记录后被触发,从而产生干扰!谢谢阿曼!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    相关资源
    最近更新 更多