chrome.audio

refresh date: 2026-09-25 robots: noindex

Описание

chrome.audio API позволяет пользователям получать информацию об аудиоустройствах, подключенных к системе, и управлять ими. В настоящее время этот API доступен только в режиме киоска для ChromeOS.

Разрешения

audio

Доступность

Chrome 59 и более поздних версий Только для ChromeOS

Типы

AudioDeviceInfo

Свойства

  • deviceName

    string

    Название устройства.

  • deviceType

    Тип устройства.

  • displayName

    string

    Удобное название (например, "USB-микрофон").

  • id

    string

    Уникальный идентификатор аудиоустройства.

  • isActive

    Логическое значение

    True, если это текущее активное устройство.

  • уровень

    число

    Уровень звука устройства, громкость вывода, усиление ввода.

  • stableDeviceId

    Строка (необязательно)

    Стабильная/постоянная строка идентификатора устройства, если она доступна.

  • streamType

    Тип потока, связанный с этим устройством.

DeviceFilter

Свойства

  • isActive

    Логическое значение (необязательно)

    Если задано, фильтру будут соответствовать только аудиоустройства, активное состояние которых совпадает с этим значением.

  • streamTypes

    StreamType[] необязательный

    Если правило настроено, фильтру будут соответствовать только аудиоустройства, тип потока которых включен в этот список.

DeviceIdLists

Свойства

  • ввод

    string[] необязательно

    Список устройств ввода, указанных по идентификатору.

    Если вы не хотите, чтобы устройства ввода отключались, оставьте это свойство незаданным.

  • результат вычисления

    string[] необязательно

    Список устройств вывода, указанных по идентификатору.

    Если вы не хотите, чтобы устройства вывода были затронуты, оставьте это свойство незаданным.

DeviceProperties

Свойства

  • уровень

    number (необязательно)

    Желаемый уровень громкости аудиоустройства. По умолчанию используется текущий уровень громкости устройства.

    Если используется с устройством ввода аудио, представляет усиление аудиоустройства.

    Если используется с устройством вывода звука, представляет громкость аудиоустройства.

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

    string

    Идентификатор устройства, уровень звука которого изменился.

  • уровень

    число

    Новый уровень громкости устройства.

MuteChangedEvent

Свойства

  • isMuted

    Логическое значение

    Отключен ли звук в трансляции.

  • streamType

    Тип потока, для которого изменилось значение отключения звука. Обновленное значение отключения звука применяется ко всем устройствам с этим типом потока.

StreamType

Тип потока, который предоставляет аудиоустройство.

Перечисление

"INPUT"

"OUTPUT"

Методы

getDevices()

Promise
chrome.audio.getDevices(
  filter?: DeviceFilter,
  callback?: function,
)
: Promise<AudioDeviceInfo[]>

Получает список аудиоустройств, отфильтрованных на основе filter.

Параметры

  • фильтр

    DeviceFilter необязательный

    Свойства устройств, по которым нужно отфильтровать список возвращенных аудиоустройств. Если фильтр не настроен или для него задано значение {}, в списке будут показаны все доступные аудиоустройства.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (devices: AudioDeviceInfo[]) => void

Возвраты

  • Promise<AudioDeviceInfo[]>

    Chrome 116 и более поздних версий

    Сообщает запрошенный список аудиоустройств.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getMute()

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

Возвращает состояние отключения звука на уровне системы для указанного типа потока.

Параметры

  • streamType

    Тип потока, для которого нужно получить статус отключения звука.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (value: boolean) => void

    • value

      Логическое значение

Возвраты

  • Promise<boolean>

    Chrome 116 и более поздних версий

    Объект Promise, который разрешается с логическим значением, указывающим, отключен ли звук для указанного типа потока.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

setActiveDevices()

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

Задает списки активных устройств ввода и/или вывода.

Параметры

  • Указывает идентификаторы устройств, которые должны быть активны. Если список устройств ввода или вывода не задан, устройства в этой категории не затрагиваются.

    Если передать несуществующий идентификатор устройства, возникнет ошибка.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 116 и более поздних версий

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

setMute()

Promise
chrome.audio.setMute(
  streamType: StreamType,
  isMuted: boolean,
  callback?: function,
)
: Promise<void>

Отключает звук для типа потока. Отключение звука будет применено ко всем аудиоустройствам с указанным типом аудиопотока.

Параметры

  • streamType

    Тип потока, для которого нужно задать состояние отключения звука.

  • isMuted

    Логическое значение

    Новое значение отключения звука.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 116 и более поздних версий

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

setProperties()

Promise
chrome.audio.setProperties(
  id: string,
  properties: DeviceProperties,
  callback?: function,
)
: Promise<void>

Задает свойства устройства ввода или вывода.

Параметры

  • id

    string

  • объекты
  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 116 и более поздних версий

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

События

onDeviceListChanged

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

Срабатывает при изменении аудиоустройств, когда добавляются новые устройства или удаляются существующие.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (devices: AudioDeviceInfo[]) => void

onLevelChanged

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

Срабатывает, когда меняется уровень звука активного аудиоустройства.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (event: LevelChangedEvent) => void

onMuteChanged

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

Срабатывает, когда меняется состояние звука на входе или выходе. Обратите внимание, что отключение звука действует на уровне системы и новое значение применяется ко всем аудиоустройствам с указанным типом потока.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (event: MuteChangedEvent) => void