chrome.audio
Description: |
The chrome.audio API is provided to allow users to
get information about and control the audio devices attached to the
system. This API is currently only implemented for ChromeOS.
|
Availability: |
Since Chrome 59.
|
Permissions: |
"audio"
|
Summary
Types | |
---|---|
StreamType | |
AudioDeviceInfo | |
DeviceIdLists | |
Methods | |
getDevices −
chrome.audio.getDevices(object filter, function callback)
| |
setActiveDevices −
chrome.audio.setActiveDevices( DeviceIdLists or array of string ids, function callback)
| |
setProperties −
chrome.audio.setProperties(string id, object properties, function callback)
| |
getMute −
chrome.audio.getMute( StreamType streamType, function callback)
| |
setMute −
chrome.audio.setMute( StreamType streamType, boolean isMuted, function callback)
| |
Events | |
onLevelChanged | |
onMuteChanged | |
onDeviceListChanged |
Types
StreamType
Enum |
---|
"INPUT" ,
or "OUTPUT"
|
AudioDeviceInfo
properties | ||
---|---|---|
string | id |
The unique identifier of the audio device. |
StreamType | streamType |
Stream type associated with this device. |
enum of "HEADPHONE" , "MIC" , "USB" , "BLUETOOTH" , "HDMI" , "INTERNAL_SPEAKER" , "INTERNAL_MIC" , "FRONT_MIC" , "REAR_MIC" , "KEYBOARD_MIC" , "HOTWORD" , "LINEOUT" , "POST_MIX_LOOPBACK" , "POST_DSP_LOOPBACK" , or "OTHER" |
deviceType |
Type of the device. |
string | displayName |
The user-friendly name (e.g. "USB Microphone"). |
string | deviceName |
Device name. |
boolean | isActive |
True if this is the current active device. |
integer | level |
The sound level of the device, volume for output, gain for input. |
string | (optional) stableDeviceId |
The stable/persisted device id string when available. |
DeviceIdLists
properties | ||
---|---|---|
array of string | (optional) input |
List of input devices specified by their ID. To indicate input devices should be unaffected, leave this property unset. |
array of string | (optional) output |
List of output devices specified by their ID. To indicate output devices should be unaffected, leave this property unset. |
Methods
getDevices
chrome.audio.getDevices(object filter, function callback)
Gets a list of audio devices filtered based on |filter|.
Parameters | ||||||||
---|---|---|---|---|---|---|---|---|
object | (optional) filter |
Device properties by which to filter the list of returned audio devices. If the filter is not set or set to
|
||||||
function | callback |
Reports the requested list of audio devices. The callback parameter should be a function that looks like this: function(array of AudioDeviceInfo devices) {...};
|
setActiveDevices
chrome.audio.setActiveDevices( DeviceIdLists or array of string ids, function callback)
Sets lists of active input and/or output devices.
Parameters | ||
---|---|---|
DeviceIdLists or array of string | ids |
Specifies IDs of devices that should be active. If either the input or output list is not set, devices in that category are unaffected. It is an error to pass in a non-existent device ID. NOTE: While the method signature allows device IDs to be passed as a list of strings, this method of setting active devices is deprecated and should not be relied upon to work. Please use DeviceIdLists instead. |
function | callback |
The callback parameter should be a function that looks like this: function() {...};
|
setProperties
chrome.audio.setProperties(string id, object properties, function callback)
Sets the properties for the input or output device.
Parameters | |||||
---|---|---|---|---|---|
string | id | ||||
object | properties |
|
|||
function | callback |
The callback parameter should be a function that looks like this: function() {...};
|
getMute
chrome.audio.getMute( StreamType streamType, function callback)
Gets the system-wide mute state for the specified stream type.
Parameters | |||||
---|---|---|---|---|---|
StreamType | streamType |
Stream type for which mute state should be fetched. |
|||
function | callback |
Callback reporting whether mute is set or not for specified stream type. The callback parameter should be a function that looks like this: function(boolean value) {...};
|
setMute
chrome.audio.setMute( StreamType streamType, boolean isMuted, function callback)
Sets mute state for a stream type. The mute state will apply to all audio devices with the specified audio stream type.
Parameters | ||
---|---|---|
StreamType | streamType |
Stream type for which mute state should be set. |
boolean | isMuted |
New mute value. |
function | (optional) callback |
If you specify the callback parameter, it should be a function that looks like this: function() {...};
|
Events
onLevelChanged
Fired when sound level changes for an active audio device.
addListener
chrome.audio.onLevelChanged.addListener(function callback)
Parameters | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
function | callback |
The callback parameter should be a function that looks like this: function(object event) {...};
|
onMuteChanged
Fired when the mute state of the audio input or output changes. Note that mute state is system-wide and the new value applies to every audio device with specified stream type.
addListener
chrome.audio.onMuteChanged.addListener(function callback)
Parameters | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
function | callback |
The callback parameter should be a function that looks like this: function(object event) {...};
|
onDeviceListChanged
Fired when audio devices change, either new devices being added, or existing devices being removed.
addListener
chrome.audio.onDeviceListChanged.addListener(function callback)
Parameters | |||||
---|---|---|---|---|---|
function | callback |
The callback parameter should be a function that looks like this: function(array of AudioDeviceInfo devices) {...};
|