说明
chrome.audio API 可供用户获取有关连接到系统的音频设备的信息并控制这些设备。此 API 目前仅在 ChromeOS 的自助服务终端模式下可用。
权限
audio可用性
类型
AudioDeviceInfo
属性
- 
    deviceName字符串 设备名称。 
- 
    deviceType设备类型。 
- 
    displayName字符串 简单易懂的名称(例如“USB 麦克风”)。 
- 
    id字符串 音频设备的唯一标识符。 
- 
    isActive布尔值 如果这是当前有效设备,则为 true。 
- 
    level数值 设备的音量,输出音量,输入增益。 
- 
    stableDeviceId字符串(选填) 稳定/持久的设备 ID 字符串(如果有)。 
- 
    streamType与此设备关联的流类型。 
DeviceFilter
属性
- 
    isActive布尔值(可选) 如果设置,则只有活动状态与此值匹配的音频设备才会满足过滤条件。 
- 
    streamTypesStreamType[] 可选 如果设置了此属性,则只有流类型包含在此列表中的音频设备才会满足过滤条件。 
DeviceIdLists
属性
- 
    输入string[] 可选 按 ID 指定的输入设备列表。 如需表明输入设备应不受影响,请将此属性保持未设置状态。 
- 
    输出string[] 可选 按 ID 指定的输出设备列表。 如需表明输出设备应不受影响,请将此属性保持未设置状态。 
DeviceProperties
属性
- 
    levelnumber 可选 音频设备的所需音量。默认为设备的当前音量。 如果与音频输入设备搭配使用,则表示音频设备增益。 如果与音频输出设备搭配使用,则表示音频设备音量。 
DeviceType
可用的音频设备类型。
枚举
"HEADPHONE" 
 
“麦克风”图标 
 
“USB” 
 
"BLUETOOTH" 
 
“HDMI” 
 
"INTERNAL_SPEAKER" 
 
"INTERNAL_MIC" 
 
"FRONT_MIC" 
 
"REAR_MIC" 
 
"KEYBOARD_MIC" 
 
"HOTWORD" 
 
“LINEOUT” 
 
"POST_MIX_LOOPBACK" 
 
"POST_DSP_LOOPBACK" 
 
"ALSA_LOOPBACK" 
 
“其他” 
 
LevelChangedEvent
属性
- 
    deviceId字符串 声音级别已更改的设备的 ID。 
- 
    level数值 设备的新音量。 
MuteChangedEvent
属性
- 
    isMuted布尔值 直播是否处于静音状态。 
- 
    streamType静音值发生更改的数据流的类型。更新后的静音值适用于具有相应媒体流类型的所有设备。 
StreamType
音频设备提供的音频流类型。
枚举
“INPUT” 
 
“输出” 
 
方法
getDevices()
chrome.audio.getDevices(
filter?: DeviceFilter,
): Promise<AudioDeviceInfo[]>
获取根据 filter 过滤的音频设备列表。
参数
- 
    filterDeviceFilter(可选) 用于过滤返回的音频设备列表的设备属性。如果未设置过滤条件或将其设置为 {},则返回的设备列表将包含所有可用的音频设备。
返回
- 
            Promise<AudioDeviceInfo[]> Chrome 116 及更高版本
参数
- 
    streamType应获取静音状态的数据流类型。 
返回
- 
            Promise<boolean> Chrome 116 及更高版本
setActiveDevices()
chrome.audio.setActiveDevices(
ids: DeviceIdLists,
): Promise<void>
设置活跃输入和/或输出设备的列表。
参数
- 
    ids指定应处于活跃状态的设备的 ID。如果未设置输入列表或输出列表,相应类别的设备不受影响。 传入不存在的设备 ID 属于错误行为。 
返回
- 
            Promise<void> Chrome 116 及更高版本
setMute()
chrome.audio.setMute(
streamType: StreamType,
isMuted: boolean,
): Promise<void>
为流类型设置静音状态。静音状态将应用于具有指定音频流类型的所有音频设备。
参数
- 
    streamType应设置静音状态的音频流类型。 
- 
    isMuted布尔值 新的静音值。 
返回
- 
            Promise<void> Chrome 116 及更高版本
setProperties()
chrome.audio.setProperties(
id: string,
properties: DeviceProperties,
): Promise<void>
设置输入或输出设备的属性。
参数
- 
    id字符串 
- 
    媒体资源
返回
- 
            Promise<void> Chrome 116 及更高版本
事件
onDeviceListChanged
chrome.audio.onDeviceListChanged.addListener(
callback: function,
)
在音频设备发生更改时触发,无论是添加新设备还是移除现有设备。
参数
- 
    callback函数 callback参数如下所示:(devices: AudioDeviceInfo[]) => void - 
    设备
 
- 
    
onLevelChanged
chrome.audio.onLevelChanged.addListener(
callback: function,
)
当有效音频设备的声音级别发生变化时触发。
参数
- 
    callback函数 callback参数如下所示:(event: LevelChangedEvent) => void 
onMuteChanged
chrome.audio.onMuteChanged.addListener(
callback: function,
)
当音频输入或输出的静音状态发生变化时触发。请注意,静音状态是系统范围的,新值适用于具有指定音频流类型的每个音频设备。
参数
- 
    callback函数 callback参数如下所示:(event: MuteChangedEvent) => void