如何暂停iPad上的所有声音通知?

时间:2012-05-01 01:44:34

标签: ios ipad notifications alerts alarms

我们正在为iPad(仅限)创建一个音频应用程序,用于现场表演。该设备将直接连接到控制台。因此,在现场演出期间您最不想要的是让设备突然发出意外警报或提醒。

通过Apple的SDK研究,看起来你可以屏蔽除日历和闹钟(以及iPhone上的电话)之外的所有内容。

那就是说,有没有人知道如何告诉设备'当我们处于'播出'模式时,不允许任何操作系统通知'?

如果没有,我们是否至少可以查询它们是否已打开,以便我们可以警告用户?

Jailbeaking不是一种选择,因为我们想通过App Store出售它。

更新

另一种选择是允许常规警报等仍然通过iPad的扬声器播放,但我们通过基座接口中的线路输出我们的声音。

当然,我们总是可以为此开发自己的硬件,但我们正试图尽可能多地利用该设备的内置功能。<​​/ p>

3 个答案:

答案 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根本没有噪音,除了我打开的程序的噪音。

Screenshot of iPod settings

iPad似乎不允许单独音量控制系统声音和程序声音,如iPod。

Photo of iPad settings

答案 2 :(得分:0)

我实际上没有尝试过这个,但经过快速Google搜索后,我发现AVAudioSession类引用说明将模式设置为AVAudioSessionCategoryRecord可能达到您想要的效果。

关于AVAudioSessionCategoryPlayAndRecord的说明是:

  

如果您想确保在应用录制时播放消息提醒等声音,请改用AVAudioSessionCategoryRecord类别。

http://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioSession_ClassReference/Reference/Reference.html#//apple_ref/c/data/AVAudioSessionCategoryRecord

(也可以使用C API:http://developer.apple.com/library/ios/#documentation/AudioToolbox/Reference/AudioSessionServicesReference/Reference/reference.html#//apple_ref/doc/c_ref/kAudioSessionCategory_PlayAndRecord