chrome.audio

说明

chrome.audio API 可供用户获取有关连接到系统的音频设备的信息并控制这些设备。此 API 目前仅在 ChromeOS 的自助服务终端模式下可用。

权限

audio

可用性

Chrome 59 及更高版本 仅限 ChromeOS

类型

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(可选)

    用于过滤返回的音频设备列表的设备属性。如果未设置过滤条件或将其设置为 {},则返回的设备列表将包含所有可用的音频设备。

返回

getMute()

chrome.audio.getMute(
  streamType: StreamType,
)
: Promise<boolean>

获取指定音频流类型的系统级静音状态。

参数

  • streamType

    应获取静音状态的数据流类型。

返回

  • Promise<boolean>

    Chrome 116 及更高版本

setActiveDevices()

chrome.audio.setActiveDevices(
  ids: DeviceIdLists,
)
: Promise<void>

设置活跃输入和/或输出设备的列表。

参数

  • 指定应处于活跃状态的设备的 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>

设置输入或输出设备的属性。

参数

返回

  • Promise<void>

    Chrome 116 及更高版本

事件

onDeviceListChanged

chrome.audio.onDeviceListChanged.addListener(
  callback: function,
)

在音频设备发生更改时触发,无论是添加新设备还是移除现有设备。

参数

onLevelChanged

chrome.audio.onLevelChanged.addListener(
  callback: function,
)

当有效音频设备的声音级别发生变化时触发。

参数

onMuteChanged

chrome.audio.onMuteChanged.addListener(
  callback: function,
)

当音频输入或输出的静音状态发生变化时触发。请注意,静音状态是系统范围的,新值适用于具有指定音频流类型的每个音频设备。

参数