2

–exportAsynchronouslyWithCompletionHandler: AVassetExportSession のメソッドを開始すると、オーディオの再生が停止します。AudioQueue と OpenAL を使用していますが、エクスポート セッションの開始後に両方を再起動する必要があります。オーディオを再起動せずに動作させるトリックはありますか?

4

1 に答える 1

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);
于 2010-11-04T10:09:48.217 に答える