Spec-Zone.ru › Web APIs

RTCAudioSourceStats

Словарь RTCAudioSourceStats API WebRTC предоставляет статистическую информацию об аудиодорожке (MediaStreamTrack), которая прикреплена к одному или нескольким отправителям (RTCRtpSender).

Эти данные можно получить, перебирая RTCStatsReport, возвращаемые RTCRtpSender.getStats() или RTCPeerConnection.getStats(), пока не будет найден отчет с type типа media-source и kind типа audio.

Примечание: Для получения аудиоинформации о удалённых дорожках (которые принимаются), см. RTCInboundRtpStreamStats.

Свойства экземпляра

audioLevel Экспериментально Необязательно

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

totalAudioEnergy Экспериментально Необязательно

Число, представляющее общую энергию аудиосигнала источника за всё время существования объекта статистики.

totalSamplesDuration Экспериментально Необязательно

Число, представляющее общее время всех образцов, сгенерированных источником, за всё время существования объекта статистики.

Общие свойства источника медиа

Следующие свойства присутствуют как в RTCAudioSourceStats , так и в RTCVideoSourceStats:

trackIdentifier

Строка, содержащая значение id связанной MediaStreamTrack аудиоисточника.

kind

Строка, указывающая, представляет ли этот объект статистику видеоисточника или источника медиа. Для RTCAudioSourceStats она всегда будет равна audio.

Общие свойства экземпляров

Следующие свойства являются общими для всех объектов статистики.

id

Строка, уникально идентифицирующая объект, отслеживаемый для получения этого набора статистических данных.

timestamp

Объект DOMHighResTimeStamp, указывающий время, в которое была взята выборка для этого объекта статистики.

type

Строка со значением "media-source", указывающая, что объект является экземпляром RTCAudioSourceStats или RTCVideoSourceStats.

Описание

Интерфейс предоставляет статистику об аудиоисточнике медиа, подключённом к одному или нескольким отправителям. Информация включает текущий уровень звука, усреднённый за короткий (зависимый от реализации) промежуток времени.

Статистика также включает в себя накопленную общую энергию и общее время выборки в определённый момент времени. Суммы могут быть использованы для определения среднего уровня звука за всё время существования объекта статистики. Вы можете рассчитать значение корня из среднего квадрата (RMS) в тех же единицах, что и audioLevel , используя следующую формулу:

totalAudioEnergytotalSamplesDuration\sqrt{\frac{totalAudioEnergy}{totalSamplesDuration}}

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

Общая энергия аудиосигнала объекта статистики накапливается путём добавления энергии каждой выборки за всё время его существования, а общее время накапливается путём добавления времени каждой выборки. Энергия каждой выборки определяется по следующей формуле, где sample_level — уровень выборки, max_level — максимальное значение, кодируемое с наибольшей интенсивностью, а duration — продолжительность выборки в секундах:

duration×(sample_levelmax_level)2duration \times⁢ \left(\left(\right. \frac{sample{\_}level}{max{\_}level} \left.\right)\right)^{2}

Средний уровень звука между любыми двумя различными вызовами getStats() за любой период времени может быть рассчитан по следующему уравнению:

totalAudioEnergy2-totalAudioEnergy1totalSamplesDuration2-totalSamplesDuration1\sqrt{\frac{\left(totalAudioEnergy\right)_{2} - \left(totalAudioEnergy\right)_{1}}{\left(totalSamplesDuration\right)_{2} - \left(totalSamplesDuration\right)_{1}}}

Примеры

В этом примере показано, как можно перебрать объект статистики, возвращаемый RTCRtpSender.getStats(), чтобы получить статистику источника звука, а затем извлечь audioLevel.

// where sender is an RTCRtpSender
const stats = await sender.getStats();
let audioSourceStats = null;

stats.forEach((report) => {
  if (report.type === "media-source" && report.kind==="audio") {
    audioSourceStats = report;
    break;
  }
});

const audioLevel = audioSourceStats?.audioLevel;

Спецификации

Спецификация
Идентификаторы для API статистики WebRTC
# dom-rtcaudiosourcestats

Совместимость с браузерами

Рабочий стол Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
RTCAudioSourceStats 80 80 113 67 14.1 80 113 57 14.5 13.0 80
audioLevel 80 80 Нет 67 Нет 80 Нет 57 Нет 13.0 80
frames 90 90 116 76 Нет 90 116 64 Нет 15.0 90
framesPerSecond 80 80 116 67 Нет 80 116 57 Нет 13.0 80
height 80 80 116 67 Нет 80 116 57 Нет 13.0 80
id 80 80 113 67 14.1 80 113 57 14.5 13.0 80
kind 80 80 113 67 14.1 80 113 57 14.5 13.0 80
timestamp 80 80 113 67 14.1 80 113 57 14.5 13.0 80
totalAudioEnergy 80 80 Нет 67 Нет 80 Нет 57 Нет 13.0 80
totalSamplesDuration 80 80 Нет 67 Нет 80 Нет 57 Нет 13.0 80
trackIdentifier 80 80 113 67 14.1 80 113 57 14.5 13.0 80
type 80 80 113 67 14.1 80 113 57 14.5 13.0 80
width 80 80 116 67 Нет 80 116 57 Нет 13.0 80

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCAudioSourceStats

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API