The AudioChannelManager interface of the AudioChannels API includes features for managing your device's audio channels, including setting what channel's volume to affect when the volume buttons are pressed inside a particular app.
The headphones read-only property of the AudioChannelManager interface returns a Boolean that indicates whether headphones are plugged into the device. A true value means that headphone are plugged in; false means they aren't.
The onheadphoneschange event handler of the AudioChannelManager interface fires when the device's headphones are plugged in or unplugged.
The telephonySpeaker property of the AudioChannelManager interface returns a Boolean that allows you to set whether the "telephony" audio channel should be played out of the device's speakers.
The volumeControlChannel property of the AudioChannelManager interface returns a DOMString that allows you to set which audio channel should have its volume changed when you press the device's hardware volume controls.