Как я могу играть в архиве аудио с карбоном или какао - PullRequest
0 голосов
/ 09 ноября 2010

У меня есть архивный файл, содержащий несколько аудиофайлов в формате .mp3. Я могу искать указанный файл и извлекать этот файл блоками.

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

Я попытался использовать пример AudioStreamer Мэтта Галлахера и примеры Apple Aqplay и Afsplay, и они кажутся чрезмерно сложными, и я просто не могу заставить их делать то, что мне нужно.

Так есть ли у кого-нибудь указания на то, как мне этого добиться?

Извлечение файлов на диск и их воспроизведение - это решение, которое я бы хотел избежать.

ОБНОВЛЕНИЕ:

Исходный вопрос по этому поводу не ясен, но этот формат является пользовательским форматом архива, который я могу читать по частям. По разным причинам я не могу / не могу сохранить файлы во временных файлах. Так что я ищу способ подать куски в аудиотеку для их воспроизведения.

Примеры AudioStreamer и afsplay почти делают это - прекрасно работают для первого трека - но затем подавляются вторым треком - вероятно, так как они предназначены для отдельных потоков, а не потоков из нескольких файлов один за другим ... изменения должно быть просто, но мои знания coreaudio равны нулю. Я подозреваю, что ядро ​​аудио также излишне для такой проблемы (но опять же, может быть, нет .. опять ноль опыта работы против меня)

Ответы [ 2 ]

0 голосов
/ 22 ноября 2010

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

0 голосов
/ 09 ноября 2010

[Исправленный ответ]

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

Вы должны быть в состоянии сделать это с помощью аудио-очереди.

Обратите внимание, что вам может потребоваться изменить аудио конфигурации (ASBD) между файлами, если, скажем, их битрейты или частоты дискретизации отличаются.

Хотя я не эксперт по Core Audio. Кто-то еще может дать более конкретный ответ.

...