Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Medienerfassung und Einschränkungen

Der Medienteil von WebRTC behandelt den Zugriff auf Hardware, die Video und Audio aufnehmen kann, wie Kameras und Mikrofone, sowie die Funktionsweise von Medienströmen. Es werden auch Anzeigemedien behandelt, mit denen eine Anwendung Bildschirmaufnahmen durchführen kann.

Mediengeräte

Auf alle vom Browser unterstützten Kameras und Mikrofone wird über das Objekt navigator.mediaDevices zugegriffen und verwaltet. Anwendungen können die aktuelle Liste der angeschlossenen Geräte abrufen und auf Änderungen warten, da viele Kameras und Mikrotone über USB verbunden sind und während des Lebenszyklus der Anwendung verbunden und getrennt werden können. Da sich der Status eines Mediengeräts jederzeit ändern kann, wird empfohlen, dass sich Anwendungen für Geräteänderungen registrieren, um Änderungen ordnungsgemäß verarbeiten zu können.

Einschränkungen

Beim Zugriff auf Mediengeräte empfiehlt es sich, möglichst detaillierte Einschränkungen anzugeben. Es ist zwar möglich, die Standardkamera und das Standardmikrofon mit einer einfachen Einschränkung zu öffnen, es wird jedoch möglicherweise ein Medienstrom bereitgestellt, der für die Anwendung bei weitem nicht optimal ist.

Die spezifischen Einschränkungen werden in einem MediaTrackConstraint Objekt definiert, eine für Audio und eine für Video. Die Attribute in diesem Objekt sind vom Typ ConstraintLong , ConstraintBoolean , ConstraintDouble oder ConstraintDOMString . Dies kann entweder ein bestimmter Wert (z. B. eine Zahl, ein Boolescher Wert oder eine Zeichenfolge), ein Bereich ( LongRange oder DoubleRange mit einem minimalen und maximalen Wert) oder ein Objekt mit einer ideal oder exact Definition sein. Für einen bestimmten Wert versucht der Browser, etwas so nah wie möglich auszuwählen. Für einen Bereich wird der beste Wert in diesem Bereich verwendet. Wenn exact angegeben ist, werden nur Medienströme zurückgegeben, die genau dieser Einschränkung entsprechen.

In der Nähe von

 // Camera with a resolution as close to 640x480 as possible
{
    "video": {
        "width": 640,
        "height": 480
    }
}
 

Angebot

 // Camera with a resolution in the range 640x480 to 1024x768
{
    "video": {
        "width": {
            "min": 640,
            "max": 1024
        },
        "height": {
            "min": 480,
            "max": 768
        }
    }
}
 

Genau

 // Camera with the exact resolution of 1024x768
{
    "video": {
        "width": {
            "exact": 1024
        },
        "height": {
            "exact": 768
        }
    }
}
 

Um die tatsächliche Konfiguration einer bestimmten Spur eines Medienstroms zu bestimmen, können Sie MediaStreamTrack.getSettings() aufrufen, das die aktuell angewendeten MediaTrackSettings zurückgibt.

Es ist auch möglich, die Einschränkungen eines Tracks von einem von uns geöffneten Mediengerät aus zu aktualisieren, indem Sie applyConstraints() für den Track aufrufen. Auf diese Weise kann eine Anwendung ein Mediengerät neu konfigurieren, ohne zuerst den vorhandenen Stream schließen zu müssen.

Medien anzeigen

Eine Anwendung, die Bildschirmaufnahmen und -aufzeichnungen durchführen möchte, muss die Display Media-API verwenden. Die Funktion getDisplayMedia() (Teil von navigator.mediaDevices ähnelt getUserMedia() und wird zum Öffnen des Inhalts der Anzeige (oder eines Teils davon, z. B. eines Fensters) verwendet. Der zurückgegebene MediaStream funktioniert wie MediaStream getUserMedia() wie bei Verwendung von getUserMedia() .

Die Einschränkungen für getDisplayMedia() unterscheiden sich von denen für normale Video- oder Audioeingaben.

 {
    video: {
        cursor: 'always' | 'motion' | 'never',
        displaySurface: 'application' | 'browser' | 'monitor' | 'window'
    }
}
 

Das obige Code-Snipet zeigt, wie die speziellen Einschränkungen für die Bildschirmaufzeichnung funktionieren. Beachten Sie, dass diese möglicherweise nicht von allen Browsern unterstützt werden, die Unterstützung für Anzeigemedien bieten.

Streams und Tracks

Ein MediaStream stellt einen Stream von Medieninhalten dar, der aus Spuren ( MediaStreamTrack ) von Audio und Video besteht. Sie können alle Titel von MediaStream indem Sie MediaStream.getTracks() aufrufen, das ein Array von MediaStreamTrack Objekten MediaStreamTrack .

MediaStreamTrack

Ein MediaStreamTrack verfügt über eine kind Eigenschaft, die entweder audio oder video ist und die Art des Mediums angibt, das er darstellt. Jede Spur kann stummgeschaltet werden, indem die enabled Eigenschaft umgeschaltet wird. Ein Track verfügt über eine Boolesche Eigenschaft remote , die angibt, ob er von einer RTCPeerConnection und von einem Remote-Peer stammt.