2017-03-03 1 views
3

Ich habe mehrere Audiospuren, die ich von getUserMedia (Mikrofon) bekommen habe. Diese werden über WebRTC übertragen. Ich möchte den aktuell aktiven Stream markieren, aber in der Dokumentation zu MediaTrack kann ich keine Methode finden, um auf etwas zuzugreifen, das es mir erlaubt zu bestimmen, ob dieses Objekt momentan am aktivsten ist.MediaTrack erkennen höchsten Pegel

Also, wenn es eine Methode gibt, um die aktuelle Ausgabe zu erhalten, sollte ich mit etwas Filter in der Lage sein zu bestimmen, welche die "aktivste" ist und es hervorheben.

Gibt es eine solche Methode in der API? Gibt es einen anderen Ansatz, den ich dafür annehmen kann?

Antwort

1

MediaStreamTrack hat keine solche Eigenschaft. Sie können das webaudio api verwenden, wie von hark getan, um eine Lautstärkeanzeige zu erhalten und dann zu bestimmen, wer spricht.

Ihre Laufleistung kann variieren, aktive Lautsprechererkennung ist jedoch ein schweres Problem.

1

MediaStream Objekt hat APIs refer, um aktiven Strom zu erkennen, aber nicht seine MediaStreamTrack.

Auch wenn Sie aktive Lautsprecher über Lautstärkepegel erkennen möchten, müssen Sie MediaStream an Web Audio API - AudioContext übergeben, um es zu analysieren. example

Wenn Sie über die richtige RTCPeerConnection verfügen, können Sie die getStats-API verwenden. example

Verwandte Themen