אפליקציות אינטרנט כבר יכולות להשתמש ב-getDisplayMedia()
כדי לצלם כרטיסיות, חלונות או מסכים בתור MediaStream. מגרסה 109 של Chrome, תוכלו ליהנות מהשיפורים הבאים:
- כששיתוף המסך מתחיל, התכונה מיקוד מותנה מאפשרת לאפליקציית האינטרנט שמצלמת את המסך לקבוע אם הדפדפן יתמקד בכרטיסייה או בחלון שצולמו, או אם הכרטיסייה שמצלמת את המסך תישאר פעילה.
- האפשרות
suppressLocalAudioPlayback
קובעת אם האודיו שמופעל בכרטיסייה יושמע ברמקולים המקומיים של המשתמש.
התמקדות מותנית
באמצעות 'פוקוס מותנה', אפליקציות אינטרנט יכולות עכשיו לקבוע אם הכרטיסייה או החלון שהוקלטו יתמקדו כשהצילום יתחיל, או אם צריך להתמקד בדף הצילום.
const controller = new CaptureController();
// Prompt the user to share a tab, a window or a screen.
const stream =
await navigator.mediaDevices.getDisplayMedia({ controller });
const [track] = stream.getVideoTracks();
const displaySurface = track.getSettings().displaySurface;
if (displaySurface === "browser") {
// Focus the captured tab.
controller.setFocusBehavior("focus-captured-surface");
} else if (displaySurface === "window") {
// Do not move focus to the captured window.
// Keep the capturing page focused.
controller.setFocusBehavior("no-focus-change");
}
אפשר לקרוא מידע נוסף במאמר שיתוף מסך טוב יותר עם פוקוס מותנה.
השבתת ההפעלה של אודיו מקומי
לעתים קרובות, עמיתים נפגשים בחדר כדי שאחד מהם יוכל להציג מהמחשב הנייד לפתרון לשיחות ועידה בחדר עם מסך ורמקול ייעודיים. בדרך כלל המגישים משביתים את המחשב הנייד שלהם ומשתמשים ברמקולים החיצוניים, שהקול שלהם בדרך כלל חזק יותר. כך גם מובטח שהאודיו מסונכרן עם הווידאו. אילוץ האודיו suppressLocalAudioPlayback
חוסך זמן כאן. אם הערך שמוגדר הוא true
, כשההקלטה מתחילה, הדפדפן צריך להפסיק להעביר את האודיו לרמקולים המקומיים. ערך ברירת המחדל של האילוץ הזה הוא false
.
// Prompt the user to share a tab, a window or a screen with audio.
// If successful, stop the captured audio from being played out over
// the local device's speakers.
const stream = await navigator.mediaDevices.getDisplayMedia({
audio: { suppressLocalAudioPlayback: true },
});
const [audioTrack] = stream.getAudioTracks();
const settings = audioTrack.getSettings();
console.log(settings.suppressLocalAudioPlayback); // true
נכון למועד כתיבת המאמר, suppressLocalAudioPlayback
לא פועל עם applyConstraints()
.
באג 1381959
תודות
תודה ל-Rachel Andrew על בדיקת המסמך הזה.