Оффлайн звукозапись на iPhone
-
25-09-2019 - |
Вопрос
Я разрабатываю приложение для смешивания музыки в iPhone. Это смешивает музыку, и пользователь может составить новую музыку от нее. Мне нужно записать эту финальную музыку. Я использовал Avaudiorecorder для записи этого. Но никаких изменений. Он может записывать звук от микрофона, но мне нужно записывать звук приложения.
Я использовал функцию спины аудио очереди, чтобы записать аудио. Но когда приложение работает, я могу услышать аудио из моего приложения, и я не мог слышать звук от записанного звука. Нет проблем с записью, поскольку я могу услышать звук, записанный через микрофон. Но мне нужен автономный рекордер, который может записывать аудиовыход iPhone, а не аудио вход через микрофон. Мне нужен рекордер, который может записывать аудио с помощью iPod Touch (без микрофона).
Любая помощь?
Решение
Я нашел решение по-другому. Я использовал звуковой график состоит из двух аудиоуголов. Цифровой смеситель и выходной аудиоустройство. Я создал миксер с шестью каналами, чтобы я мог играть шесть инструментов одновременно. Когда пользователь составлял музыку, я сохраню контент и во время в автономном режиме записи я буду последовательностью сохраненные инструменты для микшера.
Для лучшей производительности я остановлю звуковой график во время загрузки новых аудио или инструментов. После загрузки файлов записи появится снова.
В входной функции воспроизведения смесителя, согласно номеру входного шины, аудиопакеты будут подаваться в смеситель. На входном воспроизведении выходного аудиоустройства выделяется новый буфер для хранения выхода смесителя. Выход миксера был создан с использованием функции Audio Render. Поскольку я не модифицировал аудио входной буфер, не будет звука за пределами приложения. Наконец у меня был автономный аудио рекордер.
Шаги
- Создайте аудиосессию с помощью режима записи и воспроизведения
- Создайте звуковой график со смесителем и аудиоустановочным устройством.
- Настройте каналы Mixer или номера ввода шины (количество аудиопотоков).
- Создайте метод воспроизведения ввода для Mixer и Audio.
- Настройка источника и аудиоформата назначения в входные и выходные шины аудиогадра и вывода.
- Создайте аудиофайл с использованием формата назначения (для проверки кодирования AAC для поддержки кодирования AAC).
- Получите аудиофайлы и разработать способ, чтобы дать аудиопакеты для указанного канала.
- В Audio Input Play Back из миксера настройте вывод аудиофайла.
- В Audio Input Play Back of Out Change используйте функцию Audio Render, чтобы получить вывод миксера в новых аудио буферах. Храните аудио буфер для открытия аудиофайла.
- Приостановить запись с использованием Audio Graph STOP и резюме записи с использованием методов запуска звуковых графов. Во время этого интервала настройте новый звуковой файл выработки.
- Наконец остановите запись и закройте аудиофайл.