Page 70 - iOS人机界面指导手册
P. 70

各种游戏音效

                           音乐音轨

                       在这个程序中,声音可以提升用户体验,但是并不是主任务的核心。而且,用户也可能
                       想静音玩游戏,或者听着其他音乐玩。

                       最好的策略是看一下程序启动时用户有没有在听其他声音。不要在开始时让用户选择想
                       听哪个音轨。可以调用 ASS 的函数 AudioSessionGetProperty,读取
                       kAudioSessionProperty_OtherAudioIsPlaying 的值。基于这个值,你可以选择 Ambient
                       或者 Solo Ambient 类(两种类都支持用户静音玩游戏)。

                           如果程序启动时用户正在听其他声音,应该假设他想继续听,不应该强行用当前程
                           序的音轨代替它。这种情况下,应该选择 Ambient 类。

                           如果程序启动时用户没在听其他声音,选择 Solo Ambient 类。

                       用例 4:将用户精确实时地导航到目的地的程序。你应该提供

                           为行程中每一步说出方向
                           少许声音反馈

                           可以继续收听其他声音

                       在这个程序中,无论它在前台还是后台运行,声音导航提示都是主要任务。基于此,你
                       应该使用 Playback 类,允许你在设备被锁或切换到静音、程序跑在后台时也能播放声
                       音。

                       要想让用户运行程序的同时可以听其他声音,你可以添加 kAudioSessionProperty_O

                       verrideCategoryMixWithOthers 属性。但是,你同时也希望用户能在其他声音播放时
                       听到声音指示。这可以通过增加
                       kAudioSessionProperty_OtherMixableAudioShouldDuck 属性来实现。这样你的声音就
                       会比所有其他音轨的声音大(除了 iPhone 上的电话声)。

                       用例 5:允许用户上传图片和文字到网页的博客程序。你应该提供

                           简短的启动音乐

                           与用户操作相匹配的音效(比如上传成功后的提示)

                           上传失败时的警告音。
                       在这个程序中,声音可以提升用户体验,但不是核心功能。主任务与声音无关,用户不
                       依赖声音也能成功满足需求。在这个勇利用,你应该使用 SSS 来播放声音。这是因为所
                       有该程序对声音的要求都与 SSS 的特性相符(播放界面音效和警告音,无视设备是否被
                       锁,无视 Ring/Silent 的设置)。
   65   66   67   68   69   70   71   72   73   74   75