人机交互之Audio

Audio 音频

人们通过音量按钮、静音开关、耳机控制和屏幕音量滑动器来操纵声音。许多第三方配件也包括声音控制。音频可以通过内部或外部扬声器、耳机,甚至通过无线播放或蓝牙设备进行无线传输。无论声音是你应用程序体验的主要方面,还是一种修饰,你都需要知道人们是如何期待声音的表现和满足这些期望的。

Silence 静音

人们将他们的设备切换为静音,以避免被意外的声音打断,例如铃声和传入的信息声音。他们还想要一些非必需的声音,包括键盘声音、音效、游戏音效和其他声音反馈。当设备设置为静音时,只有显式启动的声音应该发生,例如在媒体播放、警报和音频/视频消息的音频。

Volume 音量

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

Headphones 耳机

人们使用耳机听声音,并免费使用。当插入耳机时,用户期望声音自动地重新路由,而不会被打断。当拔掉耳机时,他们希望回放能立即暂停。

Designing a Great Audio Experience 设计一个很棒的音频体验。

Adjust levels automatically when necessary, but not the overall volume.
在必要时自动调整级别,但不是整体音量。
你的应用程序可以调整相对独立的音量级别来实现音频的混合。但是,最终的输出应该始终由系统卷控制。

Permit rerouting of audio when appropriate.
允许在适当的时候重新播放音频。
人们通常想要选择一个不同的音频输出设备。例如,他们可能想通过客厅的立体声音响、汽车收音机或苹果电视来听音乐。除非有令人信服的理由,否则支持这种能力。

Use the system-provided volume view to allow audio adjustments.
使用系统提供的音量视图来允许音频调整。
为调整音频提供接口控制的最好方法是使用音量视图。这个视图是可定制的,包括一个音量级别的滑块,甚至还包括一个控制来重新播放音频输出。
开发人员请参考 MPVolumeView.

Use the system’s sound services for short sounds and vibrations.
使用系统的声音服务来做短声音和振动。
开发人员请参考 System Sound Services.

Categorize your audio if sound is essential to your app.
如果声音对你的应用程序来说是必不可少的,你可以对你的音频进行分类。
不同的音频类别允许声音被静音开关屏蔽,与其他音频混合,或者在你的应用程序处于后台时播放。根据它的含义和设备的当前音频状态选择一个类别,并将其分配给您的音频会话。例如,如果你不需要,不要让人们停止听其他应用的音乐。一般来说,最好避免在应用程序运行时更改类别,除了在不同时间记录和播放音频的应用程序例外。
开发人员请参考 Audio Session Programming Guide.

Category Meaning Behavior
Solo ambient(独唱环境) 声音并不重要,但它能使其他声音保持沉默。
例如,一个带有配乐的游戏。
响应静音的开关。
不与其他声混合。
不在后台播放。
Ambient(环境) 声音不是必须的,它也不会让其他声音保持沉默。
例如,一款游戏可以让玩家在游戏中播放另一款游戏的音乐。
响应静音的开关。
与其他声音混合。
不在后台播放。
Playback(回放) 声音是必不可少的,可能与其他音频混合。
例如,一个有声读物或教育应用程序,教授一种外语,人们在离开应用程序后可能想听。
不响应静音的开关。
可以或不能与其他声音混合。
可以在后台播放。
Record(记录) 声音记录下来。
例如,一个提供音频录制模式的笔记应用程序。如果它允许人们播放录制的笔记,这种性质的应用程序可能会切换它的类别来播放。
不响应静音的开关。
可以与其他声音混合。
可以在后台记录。
Play and record(播放和记录) 声音被记录和播放,可能同时发生。
例如,一个音频消息或视频通话应用程序。
不响应静音的开关。
可以或不能与其他声音混合。
可以在后台播放和记录。

Resume audio playback when appropriate after an interruption occurs.
在中断发生后恢复音频播放。
有时,当前播放的音频会被另一个应用程序的音频打断。永久的中断,比如由Siri发起的音乐播放列表,被认为是不可恢复的。当一个可恢复的中断发生时,当中断开始时,当中断结束时,你的应用程序应该恢复播放。例如,在播放音频的过程中,播放音乐和媒体应用程序的游戏都应该恢复。

Let other apps know when your app finishes playing temporary audio.
当你的应用程序结束播放临时音频时,让其他应用程序知道。
如果你的应用程序可能会暂时中断其他应用程序的音频,它应该适当地标记音频会话,这样其他应用程序在安全恢复时就会得到通知。
开发人员请参考 AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation 和 AVFoundation.

Respond to audio controls only when it makes sense.
只有在有意义的时候才对音频控制作出反应。
人们可以控制你的应用程序界面之外的音频播放,比如控制中心或耳机上的控制,不管你的应用是在前景还是背景。如果你的应用程序正在积极地播放音频,在一个清晰的音频相关的环境中,或者连接到一个支持airplay的设备,那么对音频控件的响应就很好了。否则,你的应用程序不应该停止另一个应用程序的音频,当控制被激活时,它可能正在播放。

Don’t repurpose audio controls.
不要重新音频控制。
人们希望音频控制在所有应用程序中都能保持一致。永远不要重新定义音频控制的意义。如果你的应用程序不支持某些控件,那么它根本不应该响应它们。

免责声明:以上内容均来自官方文档 iOS 设计指南 ,在 有道翻译 的基础上进行修改整理,仅用于个人学习。因个人水平有限,如果存在错误,请读者谅解并指出,非常感谢!

你可能感兴趣的:(人机交互之Audio)