iOS Advanced Audio API для распаковки формата - PullRequest
3 голосов
/ 27 августа 2011

На iOS возможно ли получить аудиопоток пользователя в распакованном формате? Например, MP3 возвращается как WAV, который можно использовать для анализа звука? Я относительно новичок в платформе iOS и помню, что это было невозможно в старых версиях iOS. Я читал, что в iOS 4 добавлены некоторые продвинутые API, но я не уверен, где можно найти документацию / примеры для них.

Ответы [ 3 ]

3 голосов
/ 30 августа 2011

Если вы не возражаете против использования API для iOS 4.1 и выше, вы можете попробовать использовать класс AVAssetReader и друзей. В этом похожем вопросе у вас есть полный пример того, как извлечь видеокадры . Я ожидаю, что то же самое будет работать для аудио, и приятно то, что читатель имеет дело со всеми деталями декомпрессии. Вы даже можете сделать композицию с AVComposition, чтобы объединить несколько потоков.

Эти классы являются частью AVFramework , которая позволяет не только читать, но и создавать собственный контент.

2 голосов
/ 29 августа 2011

У Apple есть пример OpenAL на http://developer.apple.com/library/mac/#samplecode/OpenALExample/Introduction/Intro.html, где Scene.m должен вас заинтересовать.

В документации Apple есть это изображение , где платформа Core Audio четко показывает, что она выдает вам MP3. Также заявляет , что вы можете получить более радикальный доступ к аудиоустройствам, если вам это нужно.

В том же документе Core Audio содержится также некоторая информация об использовании MIDI, если она может вам помочь.

Edit: Вы в удаче сегодня.

1 голос
/ 29 августа 2011

В в этом примере аудиофайл загружается и подается в график AudioUnit.Вы можете довольно легко написать собственный AudioUnit для включения в этот график, который будет анализировать поток PCM по вашему усмотрению.Вы даже можете сделать это в функции обратного вызова, хотя это, вероятно, не очень хорошая идея, поскольку обратные вызовы должны быть максимально простыми.

...