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 , используя следующую формулу:
Вы также можете использовать накопленные суммы для вычисления среднего уровня звука за произвольный период времени.
Общая энергия аудиосигнала объекта статистики накапливается путём добавления энергии каждой выборки за всё время его существования, а общее время накапливается путём добавления времени каждой выборки. Энергия каждой выборки определяется по следующей формуле, где sample_level — уровень выборки, max_level — максимальное значение, кодируемое с наибольшей интенсивностью, а duration — продолжительность выборки в секундах:
Средний уровень звука между любыми двумя различными вызовами getStats() за любой период времени может быть рассчитан по следующему уравнению:
Примеры
В этом примере показано, как можно перебрать объект статистики, возвращаемый 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;
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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