Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
RTCAudioSourceStats
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Mai 2023.
* Some parts of this feature may have varying levels of support.
DasRTCAudioSourceStats-Wörterbuch derWebRTC API liefert Statistikinformationen über einen Audio-Track (MediaStreamTrack), der an einen oder mehrere Sender (RTCRtpSender) angehängt ist.
Diese Statistiken können erhalten werden, indem derRTCStatsReport durchlaufen wird, der vonRTCRtpSender.getStats() oderRTCPeerConnection.getStats() zurückgegeben wird, bis Sie einen Bericht mit demtype vonmedia-source und einemkind vonaudio finden.
Hinweis:Für Audio-Informationen über Tracks, die aus der Ferne stammen (die empfangen werden), sieheRTCInboundRtpStreamStats.
In diesem Artikel
Instanz-Eigenschaften
audioLevelExperimentellOptionalEine Zahl, die den Audiopegel der Medienquelle darstellt.
totalAudioEnergyExperimentellOptionalEine Zahl, die die gesamte Audioenergie der Medienquelle über die Lebensdauer des Statistikobjekts darstellt.
totalSamplesDurationExperimentellOptionalEine Zahl, die die Gesamtdauer aller von der Medienquelle erzeugten Samples über die Lebensdauer des Statistikobjekts darstellt.
Allgemeine Eigenschaften von Medienquellen
Die folgenden Eigenschaften sind sowohl inRTCAudioSourceStats als auch inRTCVideoSourceStats vorhanden:
trackIdentifierEin String, der den
id-Wert desMediaStreamTrack, der mit der Audioquelle verbunden ist, enthält.kindEin String, der angibt, ob dieses Objekt die Statistiken für eine Videoquelle oder eine Medienquelle darstellt. Für ein
RTCAudioSourceStatsist dies immeraudio.
Allgemeine Instanz-Eigenschaften
Die folgenden Eigenschaften sind bei allen Statistikobjekten üblich.
idEin String, der das Objekt, das überwacht wird, um diese Statistikmenge zu erzeugen, eindeutig identifiziert.
timestampEin
DOMHighResTimeStamp-Objekt, das den Zeitpunkt anzeigt, zu dem die Probe für dieses Statistikobjekt entnommen wurde.typeEin String mit dem Wert
"media-source", der anzeigt, dass das Objekt eine Instanz von entwederRTCAudioSourceStatsoderRTCVideoSourceStatsist.
Beschreibung
Das Interface liefert Statistiken über eine Audio-Medienquelle, die an einen oder mehrere Sender angehängt ist.Die Informationen umfassen den aktuellen Audiopegel, gemittelt über eine kurze (implementierungsabhängige) Dauer.
Die Statistiken umfassen auch die akkumulierte Gesamtenergie und die Gesamtsample-Dauer zu einem bestimmten Zeitpunkt.Die Gesamtsummen können verwendet werden, um den durchschnittlichen Audiopegel über die Lebensdauer des Statistikobjekts zu bestimmen.Sie können einen quadratischen Mittelwert (RMS) im selben Maßeinheit wieaudioLevel mit der folgenden Formel berechnen:
Sie können auch die akkumulierten Gesamtsummen verwenden, um den durchschnittlichen Audiopegel über einen beliebigen Zeitraum zu berechnen.
Die gesamte Audioenergie des Statistikobjekts wird akkumuliert, indem die Energie jedes Samples über die Lebensdauer des Statistikobjekts hinzugefügt wird, während die Gesamtdauer akkumuliert wird, indem die Dauer jedes Samples hinzugefügt wird.Die Energie jedes Samples wird mit der folgenden Formel bestimmt, wobeisample_level der Pegel des Samples,max_level der höchstintensive kodierbare Wert undduration die Dauer des Samples in Sekunden ist:
Der durchschnittliche Audiopegel zwischen zwei verschiedenengetStats()-Aufrufen über einen beliebigen Zeitraum kann mit der folgenden Gleichung berechnet werden:
Beispiele
Dieses Beispiel zeigt, wie Sie das Statistikobjekt, das vonRTCRtpSender.getStats() zurückgegeben wird, durchlaufen könnten, um die Audiquellenstatistiken zu erhalten und dann denaudioLevel extrahieren.
// where sender is an RTCRtpSenderconst 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;Spezifikationen
| Specification |
|---|
| Identifiers for WebRTC's Statistics API> # dom-rtcaudiosourcestats> |