تحسينات على مشاركة الشاشة في الإصدار 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.

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

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