0

我正在使用我不太熟悉的音频引擎。这是一个来自 Apple 示例项目 (SoundEngine.cpp) 的引擎。它使用 OpenAL 来播放声音效果和音乐,我在任何地方都看不到它初始化带有AVAudioSessionCategorySoloAmbientkAudioSessionCategory_SoloAmbientSound或任何其他类别的音频会话。

我想要做的是让用户的音乐继续在后台播放,但我没有看到可以插入行来设置类别的任何地方。

本质上,初始化代码是:

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

第三行是用户音乐淡出的地方。它甚至没有引用整个文件中的音频会话。有任何想法吗?


显然,你不能。至少,不是我所针对的操作系统版本。不确定以后的操作系统版本。

4

1 回答 1

1

在您设置 OpenAL 之前,您需要初始化音频会话并设置适当的标志:

AudioSessionInitialize(NULL, NULL, _callback, _userdata);

UInt32 类别 = kAudioSessionCategory_AmbientSound;

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

您可以在此处找到更多信息,包括有关处理中断的信息。

于 2011-05-19T14:28:51.417 回答