【问题标题】:Process audio input from a mobile microphone without saving it to a file处理来自移动麦克风的音频输入而不将其保存到文件中
【发布时间】:2016-06-01 16:07:48
【问题描述】:

我正在开发一个移动应用程序,该应用程序可以对来自麦克风的音频输入进行实时基本分析。但是,使用 guideAPI 中所示的“AVAudioRecorder”的常用方法需要您先将其保存到文件中。

由于该应用程序旨在长时间保持打开状态并每天使用多次,因此我希望避免手机中出现许多音频文件或太大的音频文件。但是,我似乎无法找到解决方法。在互联网上搜索解决方案总是会找到如何将音频保存到文件的解决方案,而不是避免保存到文件并使用某种缓冲区。

任何指针都会非常有帮助!

【问题讨论】:

    标签: ios xamarin signal-processing audio-recording avaudiorecorder


    【解决方案1】:

    iOS 音频单元和音频队列 API 都允许实时处理音频输入的短缓冲区,而无需保存到文件中。

    您也可以点击 AVAudioEngine。请参阅 Apple 的文档:https://developer.apple.com/library/ios/samplecode/AVAEMixerSample/Introduction/Intro.html

    【讨论】:

    • 谢谢!现在正在努力用 C# 实现 AudioQueue!
    【解决方案2】:

    您可以使用/dev/null 作为AVAudioRecorder 实例中的路径。这样它就不会保存到文件中,而只是丢弃数据。

    var url = NSUrl.FromString("/dev/null");
    var recorder = new AVAudioRecorder(url, settings, out error);
    

    【讨论】:

    • 嗯,这是真的,但如果我们一记录数据就扔掉……那为什么要先记录呢?
    • 这取决于你想做什么。 IE。您可以使用它来获取麦克风的平均功率或峰值功率
    猜你喜欢
    • 1970-01-01
    • 2014-02-16
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    相关资源
    最近更新 更多