说明
chrome.audio
API 可供用户获取有关连接到系统的音频设备的信息并控制这些设备。此 API 目前仅在 ChromeOS 的自助服务终端模式下可用。
权限
audio
可用性
类型
AudioDeviceInfo
属性
- deviceName
字符串
设备名称。
- deviceType
设备类型。
- displayName
字符串
简单易懂的名称(例如“USB 麦克风”)。
- id
字符串
音频设备的唯一标识符。
- isActive
布尔值
如果这是当前有效设备,则为 true。
- level
数值
设备的音量,输出音量,输入增益。
- stableDeviceId
字符串(选填)
稳定/持久的设备 ID 字符串(如果有)。
- streamType
与此设备关联的流类型。
DeviceFilter
属性
- isActive
布尔值(可选)
如果设置,则只有活动状态与此值匹配的音频设备才会满足过滤条件。
- streamTypes
StreamType[] 可选
如果设置了此属性,则只有流类型包含在此列表中的音频设备才会满足过滤条件。
DeviceIdLists
属性
- 输入
string[] 可选
按 ID 指定的输入设备列表。
如需表明输入设备应不受影响,请将此属性保持未设置状态。
- 输出
string[] 可选
按 ID 指定的输出设备列表。
如需表明输出设备应不受影响,请将此属性保持未设置状态。
DeviceProperties
属性
- level
number 可选
音频设备的所需音量。默认为设备的当前音量。
如果与音频输入设备搭配使用,则表示音频设备增益。
如果与音频输出设备搭配使用,则表示音频设备音量。
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
过滤的音频设备列表。
参数
- filter
DeviceFilter(可选)
用于过滤返回的音频设备列表的设备属性。如果未设置过滤条件或将其设置为
{}
,则返回的设备列表将包含所有可用的音频设备。
返回
-
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