如何将来自 OpenAL 的音频与 iPod 音乐混合?
Posted
技术标签:
【中文标题】如何将来自 OpenAL 的音频与 iPod 音乐混合?【英文标题】:How can I blend audio from OpenAL with iPod music? 【发布时间】:2010-05-11 16:26:15 【问题描述】:我正在使用我不太熟悉的音频引擎。这是一个来自 Apple 示例项目 (SoundEngine.cpp) 的引擎。它使用 OpenAL 来播放音效和音乐,但我在任何地方都看不到它使用 AVAudiosessionCategorySoloAmbient
或 kAudioSessionCategory_SoloAmbientSound
或任何其他类别初始化音频会话。
我想做的是让用户的音乐继续在后台播放,但我没有看到可以插入行来设置类别的任何地方。
本质上,初始化代码是:
mDevice = alcOpenDevice(NULL);
mContext = alcCreateContext(mDevice, NULL);
alcMakeContextCurrent(mContext);
第三行是用户音乐淡出的地方。它甚至没有引用整个文件中的音频会话。有什么想法吗?
显然,你不能。至少,不是我所针对的操作系统版本。不确定以后的操作系统版本。
【问题讨论】:
【参考方案1】:在设置 OpenAL 之前,您需要初始化音频会话并设置适当的标志:
AudioSessionInitialize(NULL, NULL, _callback, _userdata);
UInt32 类别 = kAudioSessionCategory_AmbientSound;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(category), &category);
您可以找到更多here,包括有关处理中断的信息。
【讨论】:
This is outlined in the Audio Session Cookbook以上是关于如何将来自 OpenAL 的音频与 iPod 音乐混合?的主要内容,如果未能解决你的问题,请参考以下文章