Google стремится к продвижению расового равенства для чернокожего населения. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

захват и ограничение СМИ

СМИ части обложки WebRTC как аппаратный доступ, способные захватывать видео и аудио, такие как камеры и микрофоны, а также как средства массовой информации потоков работ. Он также охватывает дисплей средства массовой информации, который, как приложение может сделать захват экрана.

Медиа-устройство

Все камеры и микрофоны, которые поддерживаются браузером доступны и управляются через navigator.mediaDevices объекта. Приложения могут получить текущий список подключенных устройств, а также прослушивать изменения, так как многие камеры и microhpones подключения через USB и может быть подключен и отключен в течение всего жизненного цикла приложения. Так как состояние медиа-устройства может измениться в любой момент времени, рекомендуется, чтобы приложения зарегистрировать изменения устройства, чтобы правильно изменения ручки.

Ограничения

При доступе к медиа-устройств, это хорошая практика, чтобы обеспечить, как подробные ограничения, как это возможно. В то время как можно открыть камеру по умолчанию и микрофон с простым ограничением, это может доставить поток средств массовой информации, которое далеко от наиболее оптимальных для применения.

Конкретные ограничения определены в MediaTrackConstraint объекта, один для аудио и один для видео. Атрибуты этого объекта типа ConstraintLong , ConstraintBoolean , ConstraintDouble или ConstraintDOMString . Они могут быть либо значение удельной (например, число, булево или строка), диапазон ( LongRange или DoubleRange с минимальным и максимальным значением) или объект либо с ideal или exact определением. Для значения конкретного, браузер будет пытаться выбрать что-то настолько близко, насколько это возможно. Для диапазона, будет использоваться лучшее значение в этом диапазоне. Когда exact указано, только потоки данных, которые точно соответствуют , что ограничение будет возвращено.

Возле

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

Ассортимент

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

точная

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

Для определения фактической конфигурации определенный следа медиапотока есть, мы можем назвать MediaStreamTrack.getSettings() , который возвращает MediaTrackSettings применяемого в настоящее время.

Кроме того , можно обновить ограничение дорожки из мультимедийного устройства мы открыли, позвонив по телефону applyConstraints() на трассе. Это позволяет приложению переконфигурировать медиа-устройство без предварительного закрыть существующий поток.

Показать СМИ

Приложение, которое хочет, чтобы иметь возможность выполнить захват экрана и записи должны использовать дисплей Media API. Функция getDisplayMedia() (который является частью navigator.mediaDevices подобна getUserMedia() и используется для того , чтобы открыть содержимое дисплея (или ее части, например, окна). Возвращено MediaStream работает такой же , как при использовании getUserMedia() .

Ограничения для getDisplayMedia() отличаются от тех , которые используются для регулярного видео или аудио входа.

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

Код snipet выше показывает, как специальные ограничения для записи экрана работает. Обратите внимание, что это может не поддерживаться всеми браузерами, которые имеют поддержку отображения медиа.

Потоки и дорожки

MediaStream представляет собой поток медиа - контент, который состоит из треков ( MediaStreamTrack ) аудио и видео. Вы можете извлечь все дорожки из MediaStream по телефону MediaStream.getTracks() , который возвращает массив MediaStreamTrack объектов.

MediaStreamTrack

MediaStreamTrack имеет kind свойство , которое является либо audio или video , что указывает на тип носителя он представляет. Каждый трек может быть приглушен, переключая его enabled собственности. Дорожка имеет логическое свойство remote , который указывает , если он добыт с помощью RTCPeerConnection и исходит от удаленного узла.