【发布时间】:2010-08-31 11:17:49
【问题描述】:
当我启动 –exportAsynchronouslyWithCompletionHandler: AVassetExportSession 的方法时,我的音频停止播放。我正在使用 AudioQueue 和 OpenAL,它们都需要在开始导出会话后重新启动。有什么技巧可以让它们在不重新启动音频的情况下工作吗?
【问题讨论】:
标签: iphone ios4 core-audio openal
当我启动 –exportAsynchronouslyWithCompletionHandler: AVassetExportSession 的方法时,我的音频停止播放。我正在使用 AudioQueue 和 OpenAL,它们都需要在开始导出会话后重新启动。有什么技巧可以让它们在不重新启动音频的情况下工作吗?
【问题讨论】:
标签: iphone ios4 core-audio openal
嗯。没有人回答我,所以我会自己回答。认为当使用 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);
【讨论】: