Оффлайн запись звука в iphone - PullRequest
1 голос
/ 09 июня 2010

Я занимаюсь разработкой приложения для микширования музыки в iphone.Он будет смешивать музыку, и пользователь сможет сочинять из нее новую музыку.Мне нужно записать эту финальную музыку.Я использовал AVAudiorecorder для записи этого.Но без изменений.Он может записывать звук с микрофона, но мне нужно записать звук приложения.

Я использовал функцию обратного вызова аудио-очереди для записи аудио.Но когда приложение запускается, я могу слышать звук из своего приложения и не могу слышать звук из записанного звука.С записью проблем нет, так как я слышу звук, записанный через микрофон.Но мне нужен автономный рекордер, который может записывать аудиовыход iphone, а не аудиовход через микрофон.Мне нужен рекордер, который может записывать звук с помощью iPod Touch (без микрофона).

1 Ответ

0 голосов
/ 28 июня 2010

Я нашел решение по-другому. Я использовал аудио график, состоящий из двух аудиоустройств. Цифровой микшер и выходной аудиоблок. Я создал микшер с шестью каналами, чтобы я мог играть на шести инструментах одновременно. Когда пользователь будет сочинять музыку, я сохраню контент, а во время автономной записи я буду чередовать сохраненные инструменты в микшер.

Для повышения производительности я остановлю звуковой график во время загрузки новых аудио или файлов инструментов. После загрузки файлов запись возобновится.

Во входной функции воспроизведения микшера, согласно номеру входной шины, аудиопакеты будут подаваться в микшер. При воспроизведении на входе выходного аудиоустройства выделяется новый буфер для сохранения выходного сигнала микшера. Выход микшера был создан с использованием функции аудио рендеринга. Поскольку я не изменял входной буфер аудио, за пределами приложения не будет звука. Наконец-то у меня был автономный аудио рекордер.

Steps

  1. Создание аудиосеанса с использованием режима записи и воспроизведения
  2. Создание звукового графика с микшером и блоком вывода звука.
  3. Настройка каналов микшера или номеров шин ввода (количество аудиопотоков).
  4. Создание метода воспроизведения ввода для микшера и аудиоустройства.
  5. Конфигурирование аудио формата источника и назначения для шин ввода и вывода аудиоустройства.
  6. Создание аудиофайла с использованием формата назначения (для проверки кодирования AAC для поддержки кодирования AAC).
  7. Извлекает аудиофайлы и разрабатывает метод выдачи аудиопакетов для указанного канала.
  8. При воспроизведении аудиовхода микшера настройте выборку аудиофайла.
  9. При воспроизведении аудиовхода устройства вывода, используйте функцию рендеринга звука, чтобы извлечь выход микшера в новые аудиобуферы. Сохраните аудио буфер в открытый аудио файл.
  10. Приостановите запись с помощью звукового графика, остановите и возобновите запись, используя методы запуска звукового графика. В течение этого интервала настройте выборку нового звукового файла.
  11. Окончательно остановите запись и закройте аудиофайл.
...