Google berkomitmen untuk memajukan ekuitas ras bagi masyarakat Hitam. Lihat bagaimana.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Media capture dan kendala

Media bagian dari WebRTC mencakup bagaimana hardware akses mampu menangkap video dan audio, seperti kamera dan mikrofon, serta bagaimana media stream kerja. Hal ini juga mencakup tampilan media, yang adalah bagaimana aplikasi dapat melakukan menangkap layar.

perangkat media

Semua kamera dan mikrofon yang didukung oleh browser yang diakses dan dikelola melalui navigator.mediaDevices objek. Aplikasi dapat mengambil daftar saat ini dari perangkat yang terhubung dan juga mendengarkan untuk perubahan, karena banyak kamera dan microhpones terhubung melalui USB dan dapat terhubung dan terputus selama siklus hidup aplikasi. Karena keadaan perangkat media dapat berubah sewaktu-waktu, dianjurkan bahwa aplikasi mendaftar untuk perubahan perangkat untuk benar perubahan pegangan.

kendala

Ketika mengakses perangkat media, itu adalah praktik yang baik untuk memberikan kendala sedetail mungkin. Meskipun dimungkinkan untuk membuka kamera default dan mikrofon dengan kendala sederhana, mungkin memberikan aliran media yang jauh dari yang paling optimal untuk aplikasi.

Kendala tertentu didefinisikan dalam MediaTrackConstraint objek, satu untuk audio dan satu untuk video. Atribut dalam objek ini adalah jenis ConstraintLong , ConstraintBoolean , ConstraintDouble atau ConstraintDOMString . Ini baik dapat menjadi nilai tertentu (misalnya, sejumlah, boolean atau string), berbagai ( LongRange atau DoubleRange dengan minimum dan nilai maksimum) atau obyek dengan baik sebagai ideal atau exact definisi. Untuk nilai tertentu, browser akan mencoba untuk mengambil sesuatu sedekat mungkin. Untuk range, nilai terbaik dalam kisaran yang akan digunakan. Ketika exact ditentukan, hanya media yang aliran yang tepat sesuai kendala yang akan dikembalikan.

Dekat

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

Jarak

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

Tepat

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

Untuk menentukan konfigurasi aktual trek tertentu dari aliran media memiliki, kita dapat memanggil MediaStreamTrack.getSettings() yang mengembalikan MediaTrackSettings saat ini diterapkan.

Hal ini juga memungkinkan untuk memperbarui kendala dari sebuah lagu dari perangkat media kami telah membuka, dengan memanggil applyConstraints() di trek. Hal ini memungkinkan aplikasi re-configure perangkat media tanpa terlebih dahulu harus menutup aliran yang ada.

Media tampilan

Sebuah aplikasi yang ingin dapat melakukan menangkap layar dan rekaman harus menggunakan Display Media API. Fungsi getDisplayMedia() (yang merupakan bagian dari navigator.mediaDevices mirip dengan getUserMedia() dan digunakan untuk tujuan membuka isi dari layar (atau sebagian darinya, seperti jendela). Itu kembali MediaStream bekerja sama seperti ketika menggunakan getUserMedia() .

Kendala untuk getDisplayMedia() berbeda dari yang digunakan untuk video biasa atau input audio.

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

Kode snipet di atas menunjukkan bagaimana kendala khusus untuk merekam layar bekerja. Perhatikan bahwa ini mungkin tidak didukung oleh semua browser yang memiliki dukungan media display.

Sungai dan trek

Sebuah MediaStream merupakan aliran konten media, yang terdiri dari trek ( MediaStreamTrack ) audio dan video. Anda dapat mengambil semua lagu dari MediaStream dengan memanggil MediaStream.getTracks() , yang mengembalikan array MediaStreamTrack objek.

MediaStreamTrack

Sebuah MediaStreamTrack memiliki kind properti yang baik audio atau video menunjukkan jenis media yang diwakilinya. Setiap lagu bisa diredam oleh Toggling yang enabled properti. Sebuah lagu memiliki properti Boolean remote yang menunjukkan jika bersumber oleh RTCPeerConnection dan datang dari rekan jauh.