Home | History | Annotate | Download | only in headset
      1 <html devsite>
      2   <head>
      3     <title>Headset Expected Behavior</title>
      4     <meta name="project_path" value="/_project.yaml" />
      5     <meta name="book_path" value="/_book.yaml" />
      6   </head>
      7   <body>
      8   <!--
      9       Copyright 2017 The Android Open Source Project
     10 
     11       Licensed under the Apache License, Version 2.0 (the "License");
     12       you may not use this file except in compliance with the License.
     13       You may obtain a copy of the License at
     14 
     15           http://www.apache.org/licenses/LICENSE-2.0
     16 
     17       Unless required by applicable law or agreed to in writing, software
     18       distributed under the License is distributed on an "AS IS" BASIS,
     19       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     20       See the License for the specific language governing permissions and
     21       limitations under the License.
     22   -->
     23 
     24 
     25 
     26 <p>
     27 This article details the functional requirements for
     28 <a href="plug-headset-spec.html">3.5 mm plug</a> and
     29 <a href="usb-headset-spec.html">USB</a> headsets.</p>
     30 <p>
     31 When verifying the behaviors of the device and the audio headset, note these
     32 requirements:</p>
     33 <ul>
     34   <li>only apply when no other audio accessories (e.g. Bluetooth) are
     35   available</li>
     36   <li>cover the default behavior for devices and do not apply to applications
     37   that use audio routing APIs to select which audio peripheral to use</li>
     38 </ul>
     39 
     40 <h2 id=media>Media</h2>
     41 
     42 <p>If a user connects a headset to the device while playing media, the audio
     43 output (sound) should be heard only via the headset.</p>
     44 
     45 <p>For example, while playing media with the <a
     46 href="https://github.com/googlesamples/android-UniversalMusicPlayer">open
     47 source</a> <a
     48 href="https://android-developers.blogspot.com/2015/03/a-new-reference-app-for-multi-device.html">Universal
     49 Music Player</a>, pressing the play/pause button should pause playback.
     50 Pressing the same button when media is paused should resume playback.</p>
     51 
     52 <p>If the headset has volume control buttons: </p>
     53 
     54 <ul>
     55   <li> Pressing the volume-up button should increase the volume incrementally each
     56 time the button is pressed until maximum volume is reached. If the volume-up
     57 button is pressed and held, the volume should gradually increase to maximum
     58 volume setting.
     59   <li> Pressing the volume-down button should decrease the volume incrementally each
     60 time the button is pressed until entirely muted. If the volume-down button is
     61 pressed and held, the volume should gradually decrease to silent.
     62   <li> Pressing the volume-up button when in a muted state should increase the volume
     63 one notch at a time starting from silent.
     64 </ul>
     65 
     66 <p><strong>Recommended for Apps</strong>: On disconnecting the headset, sound output should stop and playback should
     67 pause. On reconnecting, playback should not start again unless the user presses
     68 the play button. Upon pressing play, sound output should again be limited to
     69 the headset.</p>
     70 
     71 <h3 id=one_button>One button</h3>
     72 
     73 <img src="images/media_one.png" alt="Button functions for one-button headsets handling a media stream.">
     74 </span>
     75 
     76 <p class="img-caption"><strong>Figure 1.</strong> Button functions for one-button headsets handling a media stream.</p>
     77 
     78 <h3 id=two_buttons>Two buttons</h3>
     79 
     80 <img src="images/media_two.png" alt="Button functions for two-button headsets handling a media stream.">
     81 
     82 <p class="img-caption"><strong>Figure 2.</strong> Button functions for two-button headsets handling a media stream.</p>
     83 
     84 <h3 id=three_buttons>Three buttons</h3>
     85 
     86 <img src="images/media_three.png"  alt="Button functions for three-button headsets handling a media stream.">
     87 
     88 <p class="img-caption"><strong>Figure 3.</strong> Button functions for three-button headsets handling a media stream.</p>
     89 
     90 <h3 id=four_buttons>Four buttons</h3>
     91 
     92 <img src="images/media_four.png" alt="Button functions for four-button headsets handling a media stream.">
     93 
     94 <p class="img-caption"><strong>Figure 4.</strong> Button functions for four-button headsets handling a media stream.</p>
     95 
     96 <h2 id=telephony>Telephony</h2>
     97 
     98 
     99 <p>If a user connects a headset to the device while a call is in progress, the
    100 conversation should continue on the headset. The call should not get
    101 disconnected, and the microphone should not be muted. If present, volume
    102 buttons should behave identically to media playback.</p>
    103 
    104 <p class="note"><strong>Note</strong>: The actions to mute and hang up a phone
    105 call may differ across Android devices. This documents the most common behavior;
    106 but for some devices, a short press on the headset mutes the call, and a long
    107 press hangs up.</p>
    108 
    109 <h3 id=one_button>One button</h3>
    110 
    111 <img src="images/telephony_one.png" alt="Button functions for one-button headsets handling a phone call.">
    112 
    113 <p class="img-caption"><strong>Figure 5.</strong> Button functions for one-button headsets handling a phone call. </p>
    114 
    115 <h3 id=two_buttons>Two buttons</h3>
    116 
    117 <img src="images/telephony_two.png" alt="Button functions for two-button headsets handling a phone call.">
    118 
    119 <p class="img-caption"><strong>Figure 6.</strong> Button functions for two-button headsets handling a phone call. </p>
    120 
    121 <h3 id=three_buttons>Three buttons</h3>
    122 
    123 <img src="images/telephony_three.png" alt="Button functions for three-button headsets handling a phone call.">
    124 
    125 <p class="img-caption"><strong>Figure 7.</strong> Button functions for three-button headsets handling a phone call. </p>
    126 
    127 <h3 id=four_buttons>Four buttons</h3>
    128 
    129 <img src="images/telephony_four.png" alt="Button functions for four-button headsets handling a phone call.">
    130 <p class="img-caption"><strong>Figure 8.</strong> Button functions for four-button headsets handling a phone call. </p>
    131 
    132 <h2 id=voice_command>Voice commands</h2>
    133 
    134 <p>The voice command button is a new inline control standard for consistently
    135 and conveniently accessing a voice command feature from any approved wearable
    136 audio device. By pressing the button defined here, users will hear the two-tone
    137 signature <a href="http://en.wikipedia.org/wiki/Earcon">earcon</a> indicating
    138 that the device is listening and ready to receive the query.</p>
    139 
    140 <p>Whether embedded into a multi-function button or highlighted as a single
    141 button, it should always be quickly accessible, ergonomically correct, and
    142 placed intuitively as described in the following section.</p>
    143 
    144 <h2 id=buttons_and_function_mapping>Buttons and function mapping recommendations</h2>
    145 
    146 <p>The following diagrams depict the acceptable configuration of the Android voice
    147 command button.</p>
    148 
    149 <h3 id=options>Options</h3>
    150 
    151 <img src="images/button_configuration.png" alt="Button configuration options.">
    152 
    153 <p class="img-caption"><strong>Figure 9.</strong> Button configuration options. </p>
    154 
    155 <p>Buttons should always be front facing and spaced out so they can be easily
    156 located by touch only.</p>
    157 
    158 <h3 id=spacing>Spacing</h3>
    159 
    160 <p>Buttons must be more than 5 mm and must have at least 5 mm distance between
    161 buttons. For four-button headsets, there must be at least 9 mm of space between
    162 button D and the cluster of other buttons. </p>
    163 
    164 <img src="images/button_spacing.png" alt="Button spacing requirements">
    165 
    166 <p class="img-caption"><strong>Figure 10.</strong> Button spacing requirements.</p>
    167 
    168 <h3 id=icon>Icon</h3>
    169 
    170 <p>In the following diagram, A is unlabeled or labeled with a dot. B is labeled
    171 with a + or an arrow pointing up. C is labeled with a - or an arrow pointing
    172 down. D is labeled with the selected button icon.</p>
    173 
    174 <img src="images/button_icons.png" alt="Button icon requirements">
    175 <p class="img-caption"><strong>Figure 11.</strong> Button icon requirements. </p>
    176 
    177 <h3 id=sizing>Sizing</h3>
    178 
    179 <p>The following diagram shows the ratio of button icon to the space around it.</p>
    180 
    181 <img src="images/icon_sizing.png" alt="Voice search button icon sizing requirements">
    182 
    183 <p class="img-caption"><strong>Figure 12.</strong> Voice search button icon sizing requirements. </p>
    184 
    185 <h3 id=microphone_port>Microphone port</h3>
    186 
    187 <p>The microphone should never be obstructed when operating the buttons. Place the
    188 port away from finger interface area.</p>
    189 
    190 <img src="images/microphone.png" alt="Microphone placement">
    191 
    192 <p class="img-caption"><strong>Figure 13.</strong> Microphone placement. </p>
    193 
    194   </body>
    195 </html>
    196