chrome.audio

说明

通过提供 chrome.audio API,用户可以获取有关系统连接到的音频设备的信息并控制该设备。此 API 目前只能在适用于 ChromeOS 的自助服务终端模式下使用。

权限

audio

可用性

Chrome 59 及更高版本 仅限 ChromeOS

类型

AudioDeviceInfo

属性

  • deviceName

    字符串

    设备名称。

  • deviceType

    设备类型。

  • displayName

    字符串

    简单易懂的名称(例如“USB 麦克风”)。

  • id

    字符串

    音频设备的唯一标识符。

  • isActive

    布尔值

    如果这是当前活跃设备,则为 true。

  • level

    number

    设备的音量、输出的音量、输入的增益。

  • stableDeviceId

    字符串(可选)

    稳定/持久保留的设备 ID 字符串(如果有)。

  • streamType

    与此设备关联的数据流类型。

DeviceFilter

属性

  • isActive

    布尔值(可选)

    如果已设置,则只有活跃状态与此值匹配的音频设备才会满足该过滤条件。

  • streamTypes

    StreamType[] 可选

    如果已设置,则只有流类型包含在此列表中的音频设备才符合过滤器条件。

DeviceIdLists

属性

  • 输入

    string[] 选填

    由输入设备 ID 指定的输入设备列表。

    如需指明输入设备应不受影响,请勿设置此属性。

  • output

    string[] 选填

    由 ID 指定的输出设备的列表。

    如需指明输出设备应不受影响,请勿设置此属性。

DeviceProperties

属性

  • level

    编号(选填

    音频设备所需的声级。默认为设备当前的声级。

    如果与音频输入设备一起使用,则表示音频设备增益。

    如果与音频输出设备一起使用,则表示音频设备音量。

DeviceType

可用的音频设备类型。

枚举

“HEADPHONE”

“MIC”

“USB”

“BLUETOOTH”

“HDMI”

“INTERNAL_SPEAKER”

“INTERNAL_MIC”

“FRONT_MIC”

“REAR_MIC”

“KEYBOARD_MIC”

“HOTWORD”

“LINEOUT”

“POST_MIX_LOOPBACK”

"POST_DSP_LOOPBACK"

"ALSA_LOOPBACK"

“OTHER”

LevelChangedEvent

属性

  • deviceId

    字符串

    声级发生变更的设备 ID。

  • level

    number

    设备的新音量。

MuteChangedEvent

属性

  • isMuted

    布尔值

    视频流现在是否静音。

  • streamType

    静音值发生更改的信息流的类型。更新后的静音值会应用于采用此音频流类型的所有设备。

StreamType

音频设备提供的流类型。

枚举

“INPUT”

“输出”

方法

getDevices()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.audio.getDevices(
  filter?: DeviceFilter,
  callback?: function,
)

获取根据 filter 过滤的音频设备列表。

参数

  • filter

    DeviceFilter 可选

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

  • callback

    函数(可选)

    callback 参数如下所示:

    (devices: AudioDeviceInfo[]) => void

返回

  • Promise&lt;AudioDeviceInfo[]&gt;

    Chrome 116 及更高版本

    Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

getMute()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.audio.getMute(
  streamType: StreamType,
  callback?: function,
)

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

参数

  • streamType

    应提取静音状态的流类型。

  • callback

    函数(可选)

    callback 参数如下所示:

    (value: boolean) => void

    • 布尔值

返回

  • Promise&lt;boolean&gt;

    Chrome 116 及更高版本

    Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

setActiveDevices()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.audio.setActiveDevices(
  ids: DeviceIdLists,
  callback?: function,
)

设置有效输入和/或输出设备的列表。

参数

  • 指定应处于活跃状态的设备的 ID。如果未设置输入或输出列表,该类别的设备不受影响。

    传递不存在的设备 ID 会引发错误。

  • callback

    函数(可选)

    callback 参数如下所示:

    () => void

返回

  • 承诺<void>

    Chrome 116 及更高版本

    Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

setMute()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.audio.setMute(
  streamType: StreamType,
  isMuted: boolean,
  callback?: function,
)

设置流类型的静音状态。静音状态将应用于具有指定音频流类型的所有音频设备。

参数

  • streamType

    应设置静音状态的流类型。

  • isMuted

    布尔值

    新建静音值。

  • callback

    函数(可选)

    callback 参数如下所示:

    () => void

返回

  • 承诺<void>

    Chrome 116 及更高版本

    Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

setProperties()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.audio.setProperties(
  id: string,
  properties: DeviceProperties,
  callback?: function,
)

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

参数

  • id

    字符串

  • 媒体资源
  • callback

    函数(可选)

    callback 参数如下所示:

    () => void

返回

  • 承诺<void>

    Chrome 116 及更高版本

    Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

事件

onDeviceListChanged

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

在音频设备更改、添加新设备或移除现有设备时触发。

参数

onLevelChanged

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

在活动音频设备的声级发生变化时触发。

参数

onMuteChanged

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

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

参数