处理来自移动麦克风的音频输入而不将其保存到文件中
Posted
技术标签:
【中文标题】处理来自移动麦克风的音频输入而不将其保存到文件中【英文标题】:Process audio input from a mobile microphone without saving it to a file 【发布时间】:2016-06-01 16:07:48 【问题描述】:我正在开发一个移动应用程序,该应用程序可以对来自麦克风的音频输入进行实时基本分析。但是,使用 guide 和 API 中所示的“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。您可以使用它来获取麦克风的平均功率或峰值功率以上是关于处理来自移动麦克风的音频输入而不将其保存到文件中的主要内容,如果未能解决你的问题,请参考以下文章