Вопрос

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

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

Любая помощь?

Это было полезно?

Решение

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

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

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

Шаги

  1. Создайте аудиосессию с помощью режима записи и воспроизведения
  2. Создайте звуковой график со смесителем и аудиоустановочным устройством.
  3. Настройте каналы Mixer или номера ввода шины (количество аудиопотоков).
  4. Создайте метод воспроизведения ввода для Mixer и Audio.
  5. Настройка источника и аудиоформата назначения в входные и выходные шины аудиогадра и вывода.
  6. Создайте аудиофайл с использованием формата назначения (для проверки кодирования AAC для поддержки кодирования AAC).
  7. Получите аудиофайлы и разработать способ, чтобы дать аудиопакеты для указанного канала.
  8. В Audio Input Play Back из миксера настройте вывод аудиофайла.
  9. В Audio Input Play Back of Out Change используйте функцию Audio Render, чтобы получить вывод миксера в новых аудио буферах. Храните аудио буфер для открытия аудиофайла.
  10. Приостановить запись с использованием Audio Graph STOP и резюме записи с использованием методов запуска звуковых графов. Во время этого интервала настройте новый звуковой файл выработки.
  11. Наконец остановите запись и закройте аудиофайл.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top