2010-08-31 4 views
2

при запуске -exportAsynchronouslyWithCompletionHandler: метод AVassetExportSession мой звук перестает играть. Я использую AudioQueue и OpenAL, оба они должны быть перезапущены после начала сеанса экспорта. Есть ли уловка, чтобы заставить их работать без перезапуска аудио?AVassetExportSession убивает мой звук

ответ

3

Хорошо. Никто не ответил мне, поэтому я отвечу сам. Понял, что при экспорте с помощью AVAssetExportSession он создает свою собственную звуковую очередь, поэтому он убивает меня, поэтому перед запуском моей очереди все, что мне нужно, это установить некоторые свойства в AudioSession.

AudioSessionInitialize(CFRunLoopGetCurrent(), 
          kCFRunLoopCommonModes, 
          NULL, 
          NULL); 
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, 
           sizeof(kAudioSessionCategory_MediaPlayback), 
           &(int) 
           {kAudioSessionCategory_MediaPlayback}); 
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers, 
           sizeof (UInt32), 
           &(UInt32) 
           {1}); 
AudioSessionSetActive(YES); 
Смежные вопросы