iphone - 设置某些 Audio Session 参数时,iPod mini 控件将被禁用

标签 iphone ipad audio ios4

我正在为 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/

相关文章:

ios - Apple Watch 应用图像控制

iphone - iPhone 上的 PDF 搜索

iphone - 如何从通过 NSthread 调用的函数中获取返回值?

audio - 如何使用声卡测量5V信号

web-applications - 如何从 Javascript 中清除 HTML5 应用程序缓存?

iphone - @dynamic 和@synthesize 之间有什么区别?

javascript - iPad 不播放音频

android - 如何从选定的 mp3 文件中提取信息?

android - 如何在平板电脑/智能手机上启用立体声录音,尽管有两个内置麦克风,但只产生单声道?

ios - 如何在 iOS 7 中控制表格部分标题的缩进?