Currently, mute flag is treated as per audio device property, even though in reality mute is a system property (associated with a type of audio stream rather than a device).
Associating mute with a device makes muting audio input/output non intuitive - one would have to find an active device and change its mute property.
Instead, audio API should expose methods for setting/retrieving mute state per
audio stream type.
For example, getting/setting input mute could be done as:
chrome.audio.getMute('INPUT', function(value) {});
chrome.audio.setMute('INPUT', true, function() {});
Observing mute state is already exposed per audio stream type, but the event name/arguments could be improved up as well.
Comment 1 by bugdroid1@chromium.org
, Jan 27 2017