تحسينات على مشاركة الشاشة في الإصدار Chrome 109

François Beaufort
François Beaufort

يمكن لتطبيقات الويب حاليًا استخدام 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.

الشكر والتقدير

نشكر راشيل أندرو على مراجعة هذا المستند.