Google si impegna a far progredire equità razziale per le comunità nere. Vedi come.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

cattura e vincoli dei media

La parte multimediale di copertine WebRTC come l'hardware di accesso in grado di catturare video e audio, come ad esempio telecamere e microfoni, così come come i media flussi di lavoro. Esso copre anche i media di visualizzazione, che è come un'applicazione può fare la cattura dello schermo.

dispositivi multimediali

Tutte le telecamere e microfoni che sono supportati dal browser sono accessibili e gestiti attraverso il navigator.mediaDevices oggetto. Le applicazioni possono recuperare l'elenco corrente dei dispositivi collegati e anche ascoltare per le modifiche, dal momento che molte macchine fotografiche e microhpones si collegano tramite USB e possono essere collegati e scollegati durante il ciclo di vita dell'applicazione. Poiché lo stato di un dispositivo di supporto può variare in qualsiasi momento, si raccomanda che le applicazioni registrati per modifiche dispositivo in modo da correttamente cambiamenti maniglia.

vincoli

Quando si accede dispositivi multimediali, è buona norma prevedere come vincoli dettagliate come possibile. Mentre è possibile aprire la fotocamera di default e il microfono con un vincolo di semplice, potrebbe fornire un flusso multimediale che è ben lungi dall'essere il più ottimale per l'applicazione.

I vincoli specifici sono definiti in una MediaTrackConstraint oggetto, uno per l'audio e uno per il video. Gli attributi in questo oggetto sono di tipo ConstraintLong , ConstraintBoolean , ConstraintDouble o ConstraintDOMString . Questi possono essere un valore specifico (ad esempio, un numero, booleano o stringa), un intervallo ( LongRange o DoubleRange con un valore minimo e massimo) o un oggetto sia con un ideal o exact definizione. Per un valore specifico, il browser tenterà di raccogliere qualcosa il più vicino possibile. Per un intervallo, verrà utilizzato il miglior valore in tale intervallo. Quando exact è specificato, verranno restituiti solo i flussi multimediali che corrispondono esattamente questo vincolo.

Vicino

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

Gamma

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

esatto

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

Per determinare la configurazione attuale di una certa traccia di un flusso multimediale ha, possiamo chiamare MediaStreamTrack.getSettings() , che restituisce i MediaTrackSettings attualmente applicati.

E 'anche possibile aggiornare i vincoli di un brano da un dispositivo multimediale che abbiamo aperto, chiamando applyConstraints() in pista. Ciò consente un'applicazione ri-configurare un dispositivo multimediale senza dover prima chiudere il flusso esistente.

mezzi di visualizzazione

Un'applicazione che vuole essere in grado di eseguire la cattura dello schermo e la registrazione deve utilizzare il display multimediale API. La funzione getDisplayMedia() (che è parte di navigator.mediaDevices è simile a getUserMedia() e viene utilizzato allo scopo di aprire il contenuto del display (o una parte di esso, ad esempio una finestra). La restituito MediaStream funziona stessa di quando usate getUserMedia() .

I vincoli per getDisplayMedia() differiscono da quelli utilizzati per video normale o ingresso audio.

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

Lo snipet codice sopra mostra come i vincoli speciali per la registrazione dello schermo funziona. Si noti che questi potrebbero non essere supportati da tutti i browser che hanno il supporto dei media di visualizzazione.

Corsi d'acqua e percorsi

Un MediaStream rappresenta un flusso di contenuti multimediali, che consiste di tracce ( MediaStreamTrack ) di audio e video. È possibile recuperare tutte le tracce da MediaStream chiamando MediaStream.getTracks() , che restituisce un array di MediaStreamTrack oggetti.

MediaStreamTrack

Un MediaStreamTrack ha una kind di proprietà che è o audio o video , che indica il tipo di supporto che rappresenta. Ogni traccia può essere disattivato commutando il suo enabled di proprietà. Una pista ha una proprietà booleana remote che indica se proviene da un RTCPeerConnection e proveniente da un peer remoto.