我正在为 iPhone/iPad 开发音乐可视化工具,在 iOS 3 下,您可以双击主页按钮并获得 iPod 控制。在最新版本 4.1-4.2 中,当按下主页按钮时,这些控件将显示为灰色。我在 http://openradar.appspot.com/8696944 发现了类似的投诉,虽然没有解决办法。
我将基本声音类别设置为 kAudioSessionCategory_PlayAndRecord
,并将 kAudioSessionProperty_OverrideCategoryMixWithOthers
设置为 true。 (只是为了给问题增添更多乐趣,我使用 OpenAL 来实现一些声音效果。)
当应用程序进入后台时,我尝试将类别设置回环境。但要么发生得太晚,要么还不够。
最佳答案
这是我到目前为止所要做的:
AudioSessionInitialize(NULL, NULL, NULL, self);
UInt32 sessionCategory = kAudioSessionCategory_AmbientSound;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
devicetwo = alcOpenDevice(NULL);
contexttwo = alcCreateContext(devicetwo, 0);
//The following two lines are the lines that gray out iPod controls:
alcMakeContextCurrent(contexttwo);
AudioSessionSetActive(YES);
即使应用程序退出,iPod 控件也会保持灰色...并且删除这两行代码会导致应用程序中不产生任何声音。
关于iphone - 设置某些 Audio Session 参数时,iPod mini 控件将被禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4582130/