Google jest zaangażowana w pogłębianie równości rasowej dla czarnych społecznościach. Zobacz jak.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

przechwytywania mediów i ograniczenia

Część mediów pokrowców WebRTC jak sprzętu dostępowego pozwala na przechwytywanie wideo i audio, takich jak kamery i mikrofony, a także w jaki sposób strumieni mediów pracy. Obejmuje ona również nośniki wyświetlacza, który jest, jak aplikacja może zrobić przechwytywania ekranu.

urządzenia multimedialne

Wszystkie kamery i mikrofony, które są obsługiwane przez przeglądarkę są dostępne i zarządzany przez navigator.mediaDevices obiektu. Aplikacje można pobrać aktualną listę podłączonych urządzeń, a także słuchać zmian, ponieważ wiele kamer i microhpones podłączyć przez USB i może być podłączony i odłączony w trakcie cyklu życia aplikacji. Od stanu urządzenia multimedialnego można zmienić w dowolnym momencie, zaleca się, że aplikacje zarejestrowania zmian urządzeń w celu prawidłowego zmiany uchwytu.

ograniczenia

Podczas uzyskiwania dostępu do urządzeń multimedialnych, jest to dobra praktyka, aby zapewnić jak szczegółowych ograniczeń, jak to możliwe. Choć możliwe jest, aby otworzyć domyślną kamerę i mikrofon z prostego przymusu, może dostarczyć strumień multimedialny, który jest daleko od najbardziej optymalny dla danej aplikacji.

Specyficzne ograniczenia są zdefiniowane w MediaTrackConstraint obiekt, jeden dla dźwięku i jeden dla wideo. Atrybuty w tym obiekcie są typu ConstraintLong , ConstraintBoolean , ConstraintDouble lub ConstraintDOMString . Te z nich może być specyficzną wartość (na przykład numer, logiczny lub łańcuch), zakres ( LongRange lub DoubleRange o minimalnej i maksymalnej wartości) lub przedmiot albo z ideal lub exact definicji. Dla wartości określonej, przeglądarka będzie próbowała wybrać coś tak blisko, jak to możliwe. Dla wielu, zostaną wykorzystane najlepszą wartość w tym przedziale. Kiedy exact jest określona, zostaną zwrócone tylko strumienie multimedialne, które dokładnie pasują do tego ograniczenia.

Blisko

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

Zasięg

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

Dokładny

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

Do określenia rzeczywistej konfiguracji pewien tor strumienia media, możemy wywołać MediaStreamTrack.getSettings() , która zwraca MediaTrackSettings obecnie stosowane.

Możliwe jest również, aby zaktualizować ograniczeń utworu z urządzenia multimedialnego otwarliśmy, wywołując applyConstraints() na torze. Dzięki temu aplikacja ponownie skonfigurować urządzenie mediów bez uprzedniego zamknięcia istniejącego strumienia.

multimedialny wyświetlacz

Aplikacja, która chce być w stanie wykonać przechwytywanie ekranu i nagrywania należy korzystać z wyświetlacza medialny API. Funkcja getDisplayMedia() (który jest częścią navigator.mediaDevices jest podobny do getUserMedia() i jest używany do tego celu otwarcia zawartości wyświetlacza (lub jego części, takich jak okna). Zwrócona MediaStream działa sama, jak w przypadku korzystania getUserMedia() .

Ograniczenia dla getDisplayMedia() różnią się od tych używanych do regularnych wideo lub wejścia audio.

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

Snipet kod powyżej pokazuje jak specjalne ograniczenia dotyczące nagrywania ekranu działa. Zauważ, że te mogą nie być obsługiwane przez wszystkie przeglądarki, które mają poparcie mediów wyświetlacz.

Strumienie i utworów

MediaStream reprezentuje strumień zawartości multimedialnej, która składa się z utworów ( MediaStreamTrack ) audio i wideo. Możesz pobrać wszystkie utwory z MediaStream wywołując MediaStream.getTracks() , która zwraca tablicę MediaStreamTrack obiektów.

MediaStreamTrack

MediaStreamTrack ma kind właściwość, że jest albo audio lub video , wskazując rodzaj mediów reprezentuje. Każdy utwór może być wyciszony poprzez przełączanie jej enabled nieruchomości. Ścieżka ma właściwość logiczna remote , który wskazuje, czy jest on pozyskiwany przez RTCPeerConnection i pochodzących z odległej każdym.