גוגל מחוייב לקידום עצמי גזעי עבור קהילות שחורות. תראה איך.
דף זה תורגם על ידי 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 ו המגיעים עמית מרחוק.