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() ในการติดตาม นี้จะช่วยให้แอพลิเคชันอีกครั้งกำหนดค่าอุปกรณ์สื่อโดยไม่ต้องปิดกระแสที่มีอยู่

สื่อการแสดงผล

โปรแกรมประยุกต์ที่ต้องการเพื่อให้สามารถที่จะดำเนินการจับภาพหน้าจอและการบันทึกจะต้องใช้การแสดงผลสื่อ 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 และมาจากเพียร์จากระยะไกล