| page.title=Headset Expected Behavior |
| @jd:body |
| |
| <!-- |
| Copyright 2015 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <div id="qv-wrapper"> |
| <div id="qv"> |
| <h2>In this document</h2> |
| <ol id="auto-toc"> |
| </ol> |
| </div> |
| </div> |
| |
| <p> |
| This article details the functional requirements for |
| <a href="plug-headset-spec.html">3.5 mm plug</a> and |
| <a href="usb-headset-spec.html">USB</a> headsets.</p> |
| <p> |
| When verifying the behaviors of the device and the audio headset, note that the |
| requirements:</p> |
| <ul> |
| <li>only apply when no other audio accessories (e.g. Bluetooth) are |
| available</li> |
| <li>cover the default behavior for devices and do not apply to applications |
| that use audio routing APIs to select which audio peripheral to use</li> |
| </ul> |
| |
| <h2 id=media>Media</h2> |
| |
| <p>If a user connects a headset to the device while playing media, the audio |
| output (sound) should be heard only via the headset.</p> |
| |
| <p>For example, while playing media with the <a |
| href="https://github.com/googlesamples/android-UniversalMusicPlayer">open |
| source</a> <a |
| href="https://android-developers.blogspot.com/2015/03/a-new-reference-app-for-multi-device.html">Universal |
| Music Player</a>, pressing the play/pause button should pause playback. |
| Pressing the same button when media is paused should resume playback.</p> |
| |
| <p>If the headset has volume control buttons: </p> |
| |
| <ul> |
| <li> Pressing the volume-up button should increase the volume incrementally each |
| time the button is pressed until maximum volume is reached. If the volume-up |
| button is pressed and held, the volume should gradually increase to maximum |
| volume setting. |
| <li> Pressing the volume-down button should decrease the volume incrementally each |
| time the button is pressed until entirely muted. If the volume-down button is |
| pressed and held, the volume should gradually decrease to silent. |
| <li> Pressing the volume-up button when in a muted state should increase the volume |
| one notch at a time starting from silent. |
| </ul> |
| |
| <p><strong>Recommended for Apps</strong>: On disconnecting the headset, sound output should stop and playback should |
| pause. On reconnecting, playback should not start again unless the user presses |
| the play button. Upon pressing play, sound output should again be limited to |
| the headset.</p> |
| |
| <h3 id=one_button>One button</h3> |
| |
| <img src="images/media_one.png" alt="Button functions for one-button headsets handling a media stream."> |
| </span> |
| |
| <p class="img-caption"><strong>Figure 1.</strong> Button functions for one-button headsets handling a media stream.</p> |
| |
| <h3 id=two_buttons>Two buttons</h3> |
| |
| <img src="images/media_two.png" alt="Button functions for two-button headsets handling a media stream."> |
| |
| <p class="img-caption"><strong>Figure 2.</strong> Button functions for two-button headsets handling a media stream.</p> |
| |
| <h3 id=three_buttons>Three buttons</h3> |
| |
| <img src="images/media_three.png" alt="Button functions for three-button headsets handling a media stream."> |
| |
| <p class="img-caption"><strong>Figure 3.</strong> Button functions for three-button headsets handling a media stream.</p> |
| |
| <h3 id=four_buttons>Four buttons</h3> |
| |
| <img src="images/media_four.png" alt="Button functions for four-button headsets handling a media stream."> |
| |
| <p class="img-caption"><strong>Figure 4.</strong> Button functions for four-button headsets handling a media stream.</p> |
| |
| <h2 id=telephony>Telephony</h2> |
| |
| |
| <p>If a user connects a headset to the device while a call is in progress, the |
| conversation should continue on the headset. The call should not get |
| disconnected, and the microphone should not be muted. If present, volume |
| buttons should behave identically to media playback.</p> |
| |
| <p class="note"><strong>Note</strong>: The actions to mute and hang up a phone |
| call may differ across Android devices. This documents the most common behavior; |
| but for some devices, a short press on the headset mutes the call, and a long |
| press hangs up.</p> |
| |
| <h3 id=one_button>One button</h3> |
| |
| <img src="images/telephony_one.png" alt="Button functions for one-button headsets handling a phone call."> |
| |
| <p class="img-caption"><strong>Figure 5.</strong> Button functions for one-button headsets handling a phone call. </p> |
| |
| <h3 id=two_buttons>Two buttons</h3> |
| |
| <img src="images/telephony_two.png" alt="Button functions for two-button headsets handling a phone call."> |
| |
| <p class="img-caption"><strong>Figure 6.</strong> Button functions for two-button headsets handling a phone call. </p> |
| |
| <h3 id=three_buttons>Three buttons</h3> |
| |
| <img src="images/telephony_three.png" alt="Button functions for three-button headsets handling a phone call."> |
| |
| <p class="img-caption"><strong>Figure 7.</strong> Button functions for three-button headsets handling a phone call. </p> |
| |
| <h3 id=four_buttons>Four buttons</h3> |
| |
| <img src="images/telephony_four.png" alt="Button functions for four-button headsets handling a phone call."> |
| <p class="img-caption"><strong>Figure 8.</strong> Button functions for four-button headsets handling a phone call. </p> |
| |
| <h2 id=voice_assistance>Voice assistance</h2> |
| |
| <p>The voice assistance button is a new inline control standard for consistently |
| and conveniently accessing a voice search feature from any approved wearable |
| audio device. By pressing the button defined here, users will hear the two-tone |
| signature <a href="http://en.wikipedia.org/wiki/Earcon">earcon</a> indicating that the device is listening and ready to receive the query.</p> |
| |
| <p>Whether embedded into a multi-function button or highlighted as a single |
| button, it should always be quickly accessible, ergonomically correct, and |
| placed intuitively as described in the following section.</p> |
| |
| <h2 id=buttons_and_function_mapping>Buttons and function mapping recommendations</h2> |
| |
| <p>The following diagrams depict the acceptable configuration of the Android voice |
| assistance button.</p> |
| |
| <h3 id=options>Options</h3> |
| |
| <img src="images/button_configuration.png" alt="Button configuration options."> |
| |
| <p class="img-caption"><strong>Figure 9.</strong> Button configuration options. </p> |
| |
| <p>Buttons should always be front facing and spaced out so they can be easily |
| located by touch only.</p> |
| |
| <h3 id=spacing>Spacing</h3> |
| |
| <p>Buttons must be more than 5 mm and must have at least 5 mm distance between |
| buttons. For four-button headsets, there must be at least 9 mm of space between |
| button D and the cluster of other buttons. </p> |
| |
| <img src="images/button_spacing.png" alt="Button spacing requirements"> |
| |
| <p class="img-caption"><strong>Figure 10.</strong> Button spacing requirements.</p> |
| |
| <h3 id=icon>Icon</h3> |
| |
| <p>In the following diagram, A is unlabeled or labeled with a dot. B is labeled |
| with a + or an arrow pointing up. C is labeled with a - or an arrow pointing |
| down. D is labeled with the selected button icon.</p> |
| |
| <img src="images/button_icons.png" alt="Button icon requirements"> |
| <p class="img-caption"><strong>Figure 11.</strong> Button icon requirements. </p> |
| |
| <h3 id=sizing>Sizing</h3> |
| |
| <p>The following diagram shows the ratio of button icon to the space around it.</p> |
| |
| <img src="images/icon_sizing.png" alt="Voice search button icon sizing requirements"> |
| |
| <p class="img-caption"><strong>Figure 12.</strong> Voice search button icon sizing requirements. </p> |
| |
| <h3 id=microphone_port>Microphone port</h3> |
| |
| <p>The microphone should never be obstructed when operating the buttons. Place the |
| port away from finger interface area.</p> |
| |
| <img src="images/microphone.png" alt="Microphone placement"> |
| |
| <p class="img-caption"><strong>Figure 13.</strong> Microphone placement. </p> |