Звучит mp3, играет на симуляторе, но не на устройстве (Audio BeatBox) - PullRequest
0 голосов
/ 14 апреля 2011

У меня действительно серьезная проблема на моем конце:

Я делаю синхронизированный звук BEATBOX с 16 различными звуками, воспроизводимыми одновременно.

Для реализации TIME-SYNC ofmp3-файлы, которые мы отказались от AVAudioPlayer и включали в себя метод AUGraph:

MixerHostAudio.m и MixerHostAudio.h

, который я скачал с ресурсов разработчика из Apple.

Реализация работала нормально для симулятора, но не на устройстве, которое разбилось после загрузки 4-го файла ...

Мы загружали файлы в формате kAudioFormatLinearPCM.

Мы изменили его на:kAudioFormatMPEGLayer3

из всех файлов .mp3 мы думали, что это будет необходимый формат.

APP удалось загрузить ресурсы, но мы получили ошибку при запуске startAUGraph.

Приложение не сработало на устройстве, но оно не воспроизводит никаких звуков, ни на устройстве, ни в симуляторе.

мы попытались изменить битрейт с 32 до 16, и онокажется, помогло .. но нет звука все еще .. ПОМОГИТЕ!

1 Ответ

0 голосов
/ 03 мая 2011

решено:

Очевидно, нет способа загрузить сжатый аудиофайл в AUGraph или AudioBuffer на iOS, должно быть преобразование в linearPCM, поэтому:

the 29вторые файлы .mp3, каждый размером 500 КБ, преобразуются в файлы размером 5 МБ при преобразовании в linearPCM.

iPhone 3G позволяет использовать около 20 МБ оперативной памяти для каждого приложения, что объясняет, почему приложение зависало после загрузки 4-го файла (4 * 5 = 20: p)

Идеальным решением было бы внедрение алгоритма буферизации, который загружает только часть файла каждый раз (например, 1 секунда).

Это решениеВ то время я был немного над головой, и поэтому Actual Solution загружал более короткие файлы для цикла, чтобы он мог загружаться на устройства 3G и 3GS.iPhone4 загрузит полную оригинальную петлю.

Спасибо за все ответы.

Эрнан

...