《Ios Human Interface Guidelines》--Audio

来源:互联网 发布:public c语言 编辑:程序博客网 时间:2024/05/21 13:58

audio

无论声音是否是你的应用程序体验或点缀的一个主要方面,你都需要知道用户期待声音怎样表达并满足这些期望。

用户通过音量按钮、静音开关、耳机控制和屏幕音量滑块来操纵声音。很多第三方配件也包括声音控制。音频可以通过内部或外部的扬声器、耳机,甚至是通过启用AirPlay或蓝牙设备的无线方式来输出。

  • 静音:为了避免被不希望听到的声音打扰,人们将他们的设备调到静音,例如铃声和收到信息的声音。他们也想要禁用不必要的声音,包括键盘声音、声音效果、游戏配乐和其他可听见的反馈。当设备被调到静音状态时,只有启动的声音可以明确地听见,例如在媒体播放、闹钟和音频、视频传递中的声音。

  • 音量:无论是使用物理设备按钮或是一个屏幕滑块,人们期望音量变化会影响全系统的所有声音,包括音乐和应用程序内音效。唯一的例外是铃声音量,当音频没有正在播放时,铃声音量总是单独调整。

  • 耳机:人们使用耳机来私下听到声音并使自己的手得到空闲。但插入耳机是,用户期望不受打扰地自动切换到耳机播放。当不插入耳机时,他们期望播放立即停止。

必要的时候自动调整音量级,而不是整体音量:
你的应用程序可以相对调整,独立的音量级可以实现音频的混合。但是,最终的输出总是由系统音量控制的。

在适当的时候允许音频改变播放途径:
人们总是希望选择一个不同的音频输出设备。例如,他们可能希望通过他们客厅的立体声、汽车收音机或是苹果电视来听音乐。除非有令人信服的理由,否则我们应该支持此功能。

使用系统提供的音量视图来允许音频调整:
提供音量调节的界面控制的最好方式是提供一个音量视图。这个视图是可定制的,包括一个音量水平滑块,甚至是包括换一种方式进行音频输出的控制。

使用系统声音服务以减少声音和震动

如果声音对你的应用至关重要,请对你的音频进行进行分类:
不同的音频类别允许声音被静音开关关闭来与其他音频混合,或当你的应用程序在后台运行时播放。根据类别的含义和设备当前音频状态来选择一个类别,并将其分配给你的音频回话。例如,如果你不需要,不要使人们停止从其他应用程序听音乐。总体来说,在不同时间录制和播放音频的应用程序除外,当应用程序运行时,避免改变类别是最好的。

类别 含义 行为 独奏环境 声音不是必需的,但是它使其他的音频静音。例如,带有配乐的游戏。 1.响应静音开关 2.不与其他声音混合 3.不在后台播放 环境 声音不是必需的,它不会让其他音频静音。例如,一个可以让玩家在玩游戏的过程中的用其他应用播放音乐来取代游戏配乐的游戏。 1.响应静音开关 2.不与其他声音混合 3.不在后台播放 回放 声音是至关重要的并且可能与其他音频混合。例如,教一门外语的有声读物或是app,人们在离开app之后可能仍然想要听见声音。 1.不能响应静音开关 2.可能或不可能与其他声音混合3.可以在后台播放 记录 声音是被记录的。例如,一个提供录音记录模式的做笔记的app,如果它让人们使用记录笔记,一个这样的app可能将其类别转换为回放。 1.不能响应静音开关2.不能喝其他声音混合3.可以在后台中记录 播放和记录 声音可以同时被记录和播放,例如,音频消息或是视频可以响应app。 1.不能响应静音开关2.可能或不可能与其他声音混合3.可以在后台中记录和播放。

在中断发生以后适当地恢复音频播放:
有时,当前播放的音频被来自另一个不同的app的音频打断。像来电这样突然的中断被认为是可恢复的。而像siri发起的音乐列表这样永久的中断被认为是不可恢复的。当一个可恢复的中断发生。如果中断发生时音频正在播放,那么当中断结束时,你的app应该恢复播放。例如,一个游戏的配乐和一个在播放音频过程中的媒体app都应该恢复。

让其他app知道你的app何时完成播放临时音频:
如果你的app可能临时中断了其他app的音频,那么你的app应该正确地标记音频回话,以至于当其他app可以安全恢复时,这些app可以收到通知。

只有在有意义的情况下才能响应音频控制:
人们可以从你的app界面的外部来控制音频的播放,例如在控制中心或耳机上的控件,无论你的app在前台还是后台。如果你的app正在清晰的音频相关环境中或连接到使用AirPlay播放的设备来播放音频,则可以对音频控制进行相应。否则,你的app不应该停止另一个app的音频的播放,当一个控制被激活时这个音频可能正在播放。

不要重新调整音频控制:
人们期望音频控制在所有app中保持一致。不要重新定义音频控制的含义。如果你的app不能支持某些控制,那么他不能对这些控制做出回应。

本文翻译自苹果官方开发文档
查看全部合集:https://developer.apple.com/ios/human-interface-guidelines/interaction/3d-touch/