يمكن أن تستخدم تطبيقات الويب حاليًا 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.
الشكر والتقدير
نشكر راشيل أندرو على مراجعة هذا المستند.