以 ulaw 格式捕获 iOS 个麦克风音频

Capture iOS microphone audio in ulaw format

我需要实时捕获麦克风语音输入并通过 RTSP 向上流传输。音频格式需要在 ulaw 中。我需要获取原始字节,以便将其提供给 Live 555 RTSP 库。鉴于 Core Audio 和 AV Foundation 中的各种东西,我不知道从哪里开始。

  1. 麦克风的原始音频格式是什么?是线性PCM吗?

  2. iOS8只有AV Audio Engine有转换能力吗?虽然我可能需要支持 iOS 7.

  3. 我可以使用AQRecorder吗?但是好像保存到文件了,但我需要流式传输它。

  4. 我可以使用 AVCaptureDevice 吗?但是,如果它不在其中,我该如何将其转换为 ulaw?

感谢帮助,谢谢。

  1. 是的,是线性PCM;

  2. 我对AVAudioEngine不是很了解,也许你可以试试Audio Converter;

3&4。也许您需要使用 Audio Unit & Audio Converter & Audio Stream。这很复杂,但由于您需要实时捕获麦克风并将其转换为 ulaw 并上传,因此您需要深入研究。 Audio Unit是个不错的选择。

这里有一些流行的第三方库供您参考:

Novocaine,从麦克风采集实时语音数据;

AudioStreamer & FreeStreamer,从网络下载数据播放;

TheAmazingAudioEngine,据说很厉害;

也许这些对你来说太复杂了,我写了一些简单的例子:

ExtAudioFileConverter:将音频文件从一种格式转换为另一种格式;

iOSEchoCancellaion: 是同步采集语音和播放的例子