Chrome 109 में स्क्रीन शेयर करने की सुविधा के सुधार

François Beaufort
François Beaufort

वेब ऐप्लिकेशन, टैब, विंडो या स्क्रीन को MediaStream के तौर पर कैप्चर करने के लिए, पहले से ही getDisplayMedia() का इस्तेमाल कर सकते हैं. Chrome 109 में, इन सुधारों का फ़ायदा लिया जा सकता है:

  • स्क्रीन शेयरिंग शुरू होने पर, शर्त के साथ फ़ोकस की सुविधा की मदद से, कैप्चर करने वाले वेब ऐप्लिकेशन को यह कंट्रोल करने की अनुमति मिलती है कि ब्राउज़र, कैप्चर किए गए टैब या विंडो पर फ़ोकस करे या नहीं. इसके अलावा, यह भी कंट्रोल किया जा सकता है कि कैप्चर करने वाला टैब चालू रहे या नहीं.
  • 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 देखें.

आभार

इस दस्तावेज़ की समीक्षा करने के लिए, रेचल एंड्रयू का धन्यवाद.