代码之家  ›  专栏  ›  技术社区  ›  Ed Marty

如何将Openal的音频与iPod音乐混合?

  •  0
  • Ed Marty  · 技术社区  · 15 年前

    我用的是一个我不太熟悉的音频引擎。它是一个来自苹果示例项目(soundengine.cpp)的引擎。它使用Openal来播放音效和音乐,我看不到它用什么来初始化音频会话 AVAudioSessionCategorySoloAmbient kAudioSessionCategory_SoloAmbientSound 或任何其他类别。

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

    基本上,初始化代码是:

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

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


    显然,你不能。至少,我的目标不是操作系统版本。不确定更高版本的操作系统。

    1 回复  |  直到 12 年前
        1
  •  1
  •   intepid    14 年前

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

    audiosessioninitialize(空,空,回调,用户数据);

    uint32 category=kaudiosessioncategory_环境声音;

    audiosessionsetproperty(kaudiosessionproperty_audiocategory,sizeof(category),&category);

    你可以找到更多 here 包括处理中断的信息。