说明
我们提供 chrome.audio
API 是为了让用户能够了解和控制连接到系统的音频设备。此 API 目前仅适用于 ChromeOS 的自助服务终端模式。
权限
audio
可用性
类型
AudioDeviceInfo
属性
-
deviceName
string
设备名称。
-
deviceType
设备类型。
-
displayName
string
用户易于理解的名称(例如“USB 麦克风”)。
-
id
string
音频设备的唯一标识符。
-
isActive
boolean
如果这是当前活跃设备,则为 true。
-
level
number
设备的声级、输出的音量、输入的增益。
-
stableDeviceId
字符串(可选)
稳定/持久保留的设备 ID 字符串(如果有)。
-
streamType
与此设备关联的数据流类型。
DeviceFilter
属性
-
isActive
布尔值 选填
如果设置此参数,则只有活跃状态与此值匹配的音频设备才满足过滤条件。
-
streamTypes
StreamType[] 可选
如果设置此参数,则只有音频流类型包含在此列表中的音频设备才符合过滤条件。
DeviceIdLists
属性
-
输入
string[] 可选
通过 ID 指定的输入设备列表。
若要指明输入设备应不受影响,请勿设置此属性。
-
output
string[] 可选
按 ID 指定的输出设备列表。
若要指明输出设备应不受影响,请勿设置此属性。
DeviceProperties
属性
-
level
数字可选
音频设备所需的音量。默认设置为设备当前的音量。
如果与音频输入设备搭配使用,表示音频设备增益。
如果与音频输出设备搭配使用,则表示音频设备音量。
DeviceType
可用的音频设备类型。
枚举
"KEYBOARD_MIC"
"POST_MIX_LOOPBACK"
LevelChangedEvent
属性
-
deviceId
string
声级已更改的设备的 ID。
-
level
number
设备的新音量。
MuteChangedEvent
属性
-
isMuted
boolean
视频流现在是否静音。
-
streamType
更改了静音值的流的类型。更新后的静音值会应用于所有具有此流类型的设备。
StreamType
音频设备提供的音频流类型。
枚举
方法
getDevices()
chrome.audio.getDevices(
filter?: DeviceFilter,
callback?: function,
)
获取根据 filter
过滤的音频设备列表。
参数
-
filter
DeviceFilter 可选
用于过滤返回的音频设备列表的设备属性。如果过滤条件未设置或设为
{}
,返回的设备列表将包含所有可用的音频设备。 -
callback
函数(可选)
callback
参数如下所示:(devices: AudioDeviceInfo[]) => void
-
设备
-
返回
-
Promise<AudioDeviceInfo[]>
Chrome 116 及更高版本只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
getMute()
chrome.audio.getMute(
streamType: StreamType,
callback?: function,
)
获取指定流类型的系统级静音状态。
参数
-
streamType
应提取其静音状态的流类型。
-
callback
函数(可选)
callback
参数如下所示:(value: boolean) => void
-
值
boolean
-
返回
-
Promise<boolean>
Chrome 116 及更高版本只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
setActiveDevices()
chrome.audio.setActiveDevices(
ids: DeviceIdLists,
callback?: function,
)
设置活跃输入和/或输出设备的列表。
参数
-
ids
指定应处于活动状态的设备的 ID。如果未设置输入或输出列表,则该类别的设备不受影响。
传入不存在的设备 ID 会出错。
-
callback
函数(可选)
callback
参数如下所示:() => void
返回
-
Promise<void>
Chrome 116 及更高版本只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
setMute()
chrome.audio.setMute(
streamType: StreamType,
isMuted: boolean,
callback?: function,
)
设置流类型的静音状态。静音状态将应用于具有指定音频流类型的所有音频设备。
参数
-
streamType
应设置静音状态的流类型。
-
isMuted
boolean
新的忽略值。
-
callback
函数(可选)
callback
参数如下所示:() => void
返回
-
Promise<void>
Chrome 116 及更高版本只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
setProperties()
chrome.audio.setProperties(
id: string,
properties: DeviceProperties,
callback?: function,
)
设置输入或输出设备的属性。
参数
-
id
string
-
媒体资源
-
callback
函数(可选)
callback
参数如下所示:() => void
返回
-
Promise<void>
Chrome 116 及更高版本只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
活动
onDeviceListChanged
chrome.audio.onDeviceListChanged.addListener(
callback: function,
)
在音频设备发生变化(添加新设备或移除现有设备)时触发。
参数
-
callback
功能
callback
参数如下所示:(devices: AudioDeviceInfo[]) => void
-
设备
-
onLevelChanged
chrome.audio.onLevelChanged.addListener(
callback: function,
)
在处于活动状态的音频设备声级发生变化时触发。
参数
-
callback
功能
callback
参数如下所示:(event: LevelChangedEvent) => void
-
event
-
onMuteChanged
chrome.audio.onMuteChanged.addListener(
callback: function,
)
在音频输入或输出的静音状态发生变化时触发。请注意,静音状态是系统级的,新值适用于具有指定流类型的每个音频设备。
参数
-
callback
功能
callback
参数如下所示:(event: MuteChangedEvent) => void
-
event
-