2010-08-31 13 views
2

lorsque je démarre -exportAsynchronouslyWithCompletionHandler: méthode d'AVassetExportSession mon audio est arrêté de jouer. J'utilise AudioQueue et OpenAL, ils doivent tous deux être redémarrés après le début de la session d'exportation. Y at-il un truc pour les faire fonctionner sans redémarrer les audios?AVassetExportSession tue mon audio

Répondre

3

Bien. Personne ne m'a répondu, alors je vais me répondre. Il est supposé que lors de l'exportation avec AVAssetExportSession, il crée sa propre file d'attente audio, donc il tue mon, donc avant de commencer ma file d'attente tout ce dont j'ai besoin est de définir certaines propriétés à AudioSession.

AudioSessionInitialize(CFRunLoopGetCurrent(), 
          kCFRunLoopCommonModes, 
          NULL, 
          NULL); 
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, 
           sizeof(kAudioSessionCategory_MediaPlayback), 
           &(int) 
           {kAudioSessionCategory_MediaPlayback}); 
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers, 
           sizeof (UInt32), 
           &(UInt32) 
           {1}); 
AudioSessionSetActive(YES);