我们正在为iPad(仅限)创建一个音频应用程序,用于现场表演。该设备将直接连接到控制台。因此,在现场演出期间您最不想要的是让设备突然发出意外警报或提醒。
通过Apple的SDK研究,看起来你可以屏蔽除日历和闹钟(以及iPhone上的电话)之外的所有内容。
那就是说,有没有人知道如何告诉设备'当我们处于'播出'模式时,不允许任何操作系统通知'?
如果没有,我们是否至少可以查询它们是否已打开,以便我们可以警告用户?
Jailbeaking不是一种选择,因为我们想通过App Store出售它。
更新
另一种选择是允许常规警报等仍然通过iPad的扬声器播放,但我们通过基座接口中的线路输出我们的声音。
当然,我们总是可以为此开发自己的硬件,但我们正试图尽可能多地利用该设备的内置功能。</ p>
答案 0 :(得分:1)
它可能会使您的应用程序不符合App Store分发的条件,但显然有些人已经开始使用私有API。参见:
有些人报告说某些API调用具有接管所有声音输出的副产品。有关示例,请参阅iOS 5 Audio Alarms Don't Sound Without kAudioSessionProperty_OverrideCategoryMixWithOthers On。
您的最安全下注可能会提示用户在应用程序打开时更改设置。
答案 1 :(得分:0)
注意:我现在面前没有iPad,但我认为它与iPod的选项相同。 编辑:不,它没有“T
仅限iPod :在“设置”中=&gt; '声音',你可以将“铃声和警报”音量一直拖下来。当我的音量滑块完全关闭时,我的iPod根本没有噪音,除了我打开的程序的噪音。
iPad似乎不允许单独音量控制系统声音和程序声音,如iPod。
答案 2 :(得分:0)
我实际上没有尝试过这个,但经过快速Google搜索后,我发现AVAudioSession
类引用说明将模式设置为AVAudioSessionCategoryRecord
可能达到您想要的效果。
关于AVAudioSessionCategoryPlayAndRecord
的说明是:
如果您想确保在应用录制时播放消息提醒等声音,请改用
AVAudioSessionCategoryRecord
类别。