OGG Vorbis в iPhone SDK - PullRequest
       4

OGG Vorbis в iPhone SDK

5 голосов
/ 20 января 2011

Я хочу знать, возможно ли воспроизвести аудиофайл Ogg Vorbis с помощью iPhone SDK или существует ли библиотека или инфраструктура, позволяющая это сделать.

Я кое-что прочитал об OpenAL, но не нашеллюбой учебник ... Кто-нибудь может мне помочь ??

Ответы [ 2 ]

9 голосов
/ 16 апреля 2012

Лучше поздно, чем никогда;)
Я нашел ответ здесь Использовать cocos2d для воспроизведения файла ogg в моем проекте? .

PASoundMgr - это другой звуковой движок с поддержкой ogg-файла. воспроизведение. Тем не менее, он не был обновлен с iOS 2.x и есть многочисленные проблемы, которые возникли с тех пор, что это не ручка.

Зачем вам играть ogg файлы? Если вы конвертируете их в aac, вы быть в состоянии воспроизвести их, используя аппаратное декодирование, которое намного эффективный с точки зрения использования процессора.

Они упомянули PASoundMgr. Это сработало для меня. Я только что скопировал из каркаса cocos2d все файлы-> библиотеки, на которых был основан SoundEngineTest . И избавился от ненужного кода.

Вот мой демонстрационный проект , который показывает, как играть в ogg на ios.

Будьте осторожны с симуляторами iOS 5. *, у них есть проблемы с библиотекой звука. Моя демоверсия работает на симуляторе 4.3 и на устройстве.


Вот шаги, которые я сделал для создания демонстрации:

  1. Для начала вам понадобится каркас cocos2d-iphone. У меня уже было это, но вы можете найти его здесь cocos-2d_download .

  2. Как вы можете заметить SoundEngineTest зависит от libvorbis.a. Это библиотека, созданная из файлов группы external/Tremor. Также это зависит от фреймворков OpenAl, AudioToolbox.

  3. Я скопировал все файлы из группы tremor в мой проект. Создана "vorbis" Статическая библиотека Cocoa Touch , без ARC. И добавил все исходные файлы и заголовок к цели "vorbis" на вкладке Фазы сборки .

  4. В этапах сборки OggPlayDemo Добавлены библиотеки (libvorbis, OpenAl, AudioToolbox) в поле Link Binary with Libraries .

  5. Добавлены PA классы в проект. И проверил OggPlayDemo в качестве цели. Чтобы избежать проблем с ARC, я отключил компиляцию ARC для этих файлов 3 PA . (см. отключить ARC для одного файла )

  6. Удалены все ссылки на cocos2d. Был некоторый код, связанный с исправлением позиции слушателя в зависимости от ориентации ... Я прокомментировал это. Мне не нужна эта функция только для воспроизведения звука.

  7. Скопированный аудиофайл.

  8. И, наконец, добавили этот код в ViewController:

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        //init
        [PASoundMgr sharedSoundManager];
        [[[PASoundMgr sharedSoundManager] listener] setPosition:CGPointMake(0, 0)];
        self.audioSource = [[PASoundMgr sharedSoundManager] addSound:@"trance-loop" withExtension:@"ogg" position:CGPointMake(0, 0) looped:YES];
    
        // lower music track volume and play it
        [self.audioSource setGain:0.5f];
    }
    - (IBAction)play:(id)sender {
        [self.audioSource playAtListenerPosition];   
    }
    
0 голосов
/ 30 января 2014

Cricket Audio будет воспроизводить ogg-файлы и работает на iOS / Android / WP8.

...