2010-05-11 146 views
0

我正在使用我不太熟悉的音頻引擎。這是一個來自Apple示例項目(SoundEngine.cpp)的引擎。它使用OpenAL播放音效和音樂,並且我無處看到它用AVAudioSessionCategorySoloAmbientkAudioSessionCategory_SoloAmbientSound或任何其他類別初始化音頻會話。如何將OpenAL的音頻與iPod音樂混合?

我想要做的是允許用戶的音樂繼續在後臺播放,但我沒有看到任何地方我可以插入行來設置類別。

從本質上講,初始化代碼:

mDevice = alcOpenDevice(NULL); 
mContext = alcCreateContext(mDevice, NULL); 
alcMakeContextCurrent(mContext); 

和第三行是用戶的音樂淡出。沒有任何地方甚至會引用整個文件中的音頻會話。有任何想法嗎?


顯然,你不能。至少,不是我針對的操作系統版本。不確定以後的操作系統版本。

回答

1

您的OpenAL的安裝之前,你需要初始化你的音頻會話,並設置相應的標誌:

AudioSessionInitialize(NULL,NULL,_callback,_userdata);

UInt32 category = kAudioSessionCategory_AmbientSound;

AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,sizeof(category),& category);

您可以找到更多here,包括有關處理中斷的信息。

+0

[在Audio Session Cookbook中概述](https://developer.apple.com/Library/ios/#documentation/Audio/Conceptual/AudioSessionProgrammingGuide/Cookbook/Cookbook.html) – bobobobo 2013-05-20 16:21:09