RTCAudioSourceStats
Baseline
Weitgehend verfügbar
*
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Mai 2023 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Das RTCAudioSourceStats-Wörterbuch des WebRTC API liefert Statistik-Informationen über eine Audiostrecke (MediaStreamTrack), die an einen oder mehrere Sender (RTCRtpSender) angeschlossen ist.
Diese Statistiken können durch Iteration des RTCStatsReport abgerufen werden, welches von RTCRtpSender.getStats() oder RTCPeerConnection.getStats() zurückgegeben wird, bis Sie einen Bericht mit dem type von media-source und einem kind von audio finden.
Hinweis:
Für Audioinformationen über entfernte Quellenstrecken (die empfangen werden), siehe RTCInboundRtpStreamStats.
Instanz-Eigenschaften
audioLevelOptional-
Eine Zahl, die den Audiopegel der Medienquelle darstellt.
totalAudioEnergyOptional-
Eine Zahl, die die gesamte Audioenergie der Medienquelle über die Lebensdauer des Statistikobjekts darstellt.
totalSamplesDurationOptional-
Eine Zahl, die die Gesamtdauer aller von der Medienquelle erzeugten Proben über die Lebensdauer des Statistikobjekts darstellt.
Allgemeine Eigenschaften der Medienquelle
Die folgenden Eigenschaften sind sowohl in RTCAudioSourceStats als auch in RTCVideoSourceStats vorhanden:
trackIdentifier-
Ein String, der den
idWert desMediaStreamTrackenthält, der mit der Audioquelle verknüpft ist. kind-
Ein String, der angibt, ob dieses Objekt Statistiken für eine Videoquelle oder eine Medienquelle darstellt. Für ein
RTCAudioSourceStatswird dies immeraudiosein.
Allgemeine Instanz-Eigenschaften
Die folgenden Eigenschaften sind allen Statistikobjekten gemeinsam.
id-
Ein String, der das Objekt eindeutig identifiziert, das überwacht wird, um diesen Satz von Statistiken zu erzeugen.
timestamp-
Ein
DOMHighResTimeStamp-Objekt, das die Zeit angibt, zu der die Probe für dieses Statistikobjekt entnommen wurde. type-
Ein String mit dem Wert
"media-source", der anzeigt, dass das Objekt eine Instanz vonRTCAudioSourceStatsoderRTCVideoSourceStatsist.
Beschreibung
Das Interface liefert Statistiken über eine Audio-Medienquelle, die an einen oder mehrere Sender angeschlossen ist. Die Informationen umfassen den aktuellen Audiopegel, der über eine kurze (implementierungsabhängige) Dauer gemittelt wird.
Die Statistiken umfassen auch die akkumulierte Gesamtenergie und die Gesamtdauer der Proben zu einem bestimmten Zeitpunkt.
Die Summen können verwendet werden, um den durchschnittlichen Audiopegel über die Lebensdauer des Statistikobjekts zu bestimmen.
Sie können einen quadratischen Mittelwert (RMS) in denselben Einheiten wie audioLevel mit der folgenden Formel berechnen:
Sie können die akkumulierten Summen auch verwenden, um den durchschnittlichen Audiopegel über einen beliebigen Zeitraum zu berechnen.
Die Gesamtenergie des Statistikobjekts wird akkumuliert, indem die Energie jeder Probe über die Lebensdauer des Statistikobjekts addiert wird, während die Gesamtdauer durch Addition der Dauer jeder Probe akkumuliert wird.
Die Energie jeder Probe wird mit der folgenden Formel bestimmt, wobei sample_level das Niveau der Probe ist, max_level der höchstintensive kodierbare Wert ist und duration die Dauer der Probe in Sekunden ist:
Der durchschnittliche Audiopegel zwischen zwei verschiedenen getStats()-Aufrufen, über jede beliebige Dauer, kann mit der folgenden Gleichung berechnet werden:
Beispiele
Dieses Beispiel zeigt, wie Sie das Statistikobjekt, das von RTCRtpSender.getStats() zurückgegeben wird, durchlaufen, um die Audiostatistiken der Quelle zu erhalten und dann den audioLevel extrahieren.
// where sender is an RTCRtpSender
const stats = await sender.getStats();
let audioSourceStats = null;
for (const report of stats.values()) {
if (report.type === "media-source" && report.kind === "audio") {
audioSourceStats = report;
break;
}
}
const audioLevel = audioSourceStats?.audioLevel;
Spezifikationen
| Spezifikation |
|---|
| Identifiers for WebRTC's Statistics API> # dom-rtcaudiosourcestats> |