ब्यौरा
टैब मीडिया स्ट्रीम के साथ इंटरैक्ट करने के लिए, chrome.tabCapture एपीआई का इस्तेमाल करें.
अनुमतियां
tabCaptureखास जानकारी
chrome.tabCapture API की मदद से, मौजूदा टैब के वीडियो और ऑडियो वाले MediaStream को ऐक्सेस किया जा सकता है. इसे सिर्फ़ तब कॉल किया जा सकता है, जब उपयोगकर्ता किसी एक्सटेंशन को चालू करता है. जैसे, एक्सटेंशन के ऐक्शन बटन पर क्लिक करके. यह activeTab अनुमति के व्यवहार जैसा ही है.
सिस्टम ऑडियो को बनाए रखना
किसी टैब के लिए MediaStream पाने पर, उस टैब में मौजूद ऑडियो अब उपयोगकर्ता को नहीं सुनाया जाएगा. यह getDisplayMedia() फ़ंक्शन के व्यवहार जैसा ही है, जब suppressLocalAudioPlayback फ़्लैग को सही पर सेट किया जाता है.
उपयोगकर्ता के लिए ऑडियो चलाना जारी रखने के लिए, इनका इस्तेमाल करें:
const output = new AudioContext();
const source = output.createMediaStreamSource(stream);
source.connect(output.destination);
इससे एक नया AudioContext बनता है और टैब के MediaStream का ऑडियो, डिफ़ॉल्ट डेस्टिनेशन से कनेक्ट हो जाता है.
स्ट्रीम आईडी
chrome.tabCapture.getMediaStreamId को कॉल करने पर, स्ट्रीम आईडी मिलेगा. आईडी से MediaStream को बाद में ऐक्सेस करने के लिए, इसका इस्तेमाल करें:
navigator.mediaDevices.getUserMedia({
  audio: {
    mandatory: {
      chromeMediaSource: "tab",
      chromeMediaSourceId: id,
    },
  },
  video: {
    mandatory: {
      chromeMediaSource: "tab",
      chromeMediaSourceId: id,
    },
  },
});
उपयोग प्रतिबंध
getMediaStreamId() को कॉल करने के बाद, स्ट्रीम आईडी को इन जगहों पर इस्तेमाल नहीं किया जा सकता:
- अगर consumerTabIdतय किया गया है, तो आईडी का इस्तेमाल, दिए गए टैब के किसी भी फ़्रेम मेंgetUserMedia()कॉल कर सकता है. हालांकि, इसके लिए ज़रूरी है कि फ़्रेम का सुरक्षा ऑरिजिन एक जैसा हो.
- अगर इसे तय नहीं किया जाता है, तो Chrome 116 से शुरू होने वाले वर्शन में, आईडी का इस्तेमाल किसी भी फ़्रेम में किया जा सकता है. इसके लिए, कॉलर के तौर पर काम करने वाले फ़्रेम की रेंडर प्रोसेस में, आईडी का इस्तेमाल करने वाले फ़्रेम का सुरक्षा ऑरिजिन एक जैसा होना चाहिए. इसका मतलब है कि सर्विस वर्कर में मिला स्ट्रीम आईडी, ऑफ़स्क्रीन दस्तावेज़ में इस्तेमाल किया जा सकता है.
Chrome 116 से पहले, जब consumerTabId तय नहीं किया जाता था, तब स्ट्रीम आईडी को कॉल करने वाले के सुरक्षा ऑरिजिन, रेंडर प्रोसेस, और रेंडर फ़्रेम तक सीमित रखा जाता था.
ज़्यादा जानें
chrome.tabCapture एपीआई इस्तेमाल करने के तरीके के बारे में ज़्यादा जानने के लिए, ऑडियो रिकॉर्डिंग और स्क्रीन कैप्चर देखें. इससे पता चलता है कि इस्तेमाल के कई सामान्य उदाहरणों में, tabCapture और इससे जुड़े एपीआई का इस्तेमाल कैसे किया जाता है.
टाइप
CaptureInfo
प्रॉपर्टी
- 
    फ़ुलस्क्रीनबूलियन क्या कैप्चर किए जा रहे टैब में मौजूद कोई एलिमेंट, फ़ुलस्क्रीन मोड में है. 
- 
    स्थितिटैब के कैप्चर का नया स्टेटस. 
- 
    tabIdसंख्या उस टैब का आईडी जिसका स्टेटस बदला गया है. 
CaptureOptions
प्रॉपर्टी
- 
    ऑडियोबूलियन ज़रूरी नहीं है 
- 
    audioConstraintsMediaStreamConstraint ज़रूरी नहीं है 
- 
    वीडियोबूलियन ज़रूरी नहीं है 
- 
    videoConstraintsMediaStreamConstraint ज़रूरी नहीं है 
GetMediaStreamOptions
प्रॉपर्टी
- 
    consumerTabIdnumber ज़रूरी नहीं यह उस टैब का आईडी है जो बाद में स्ट्रीम का इस्तेमाल करने के लिए getUserMedia()को चालू करेगा. यह आईडी देना ज़रूरी नहीं है. अगर इसकी जानकारी नहीं दी जाती है, तो नतीजे के तौर पर मिली स्ट्रीम का इस्तेमाल सिर्फ़ कॉल करने वाला एक्सटेंशन कर सकता है. इस स्ट्रीम का इस्तेमाल, दिए गए टैब में मौजूद सिर्फ़ वे फ़्रेम कर सकते हैं जिनका सुरक्षा ऑरिजिन, उपभोक्ता टैब के ऑरिजिन से मेल खाता हो. टैब का ऑरिजिन सुरक्षित होना चाहिए. जैसे, एचटीटीपीएस.
- 
    targetTabIdnumber ज़रूरी नहीं उस टैब का आईडी (ज़रूरी नहीं) जिसे कैप्चर किया जाएगा. अगर इसके बारे में नहीं बताया गया है, तो मौजूदा चालू टैब चुना जाएगा. सिर्फ़ उन टैब को टारगेट टैब के तौर पर इस्तेमाल किया जा सकता है जिनके लिए एक्सटेंशन को activeTabअनुमति दी गई है.
MediaStreamConstraint
प्रॉपर्टी
- 
    ज़रूरी हैऑब्जेक्ट 
- 
    ज़रूरी नहींobject ज़रूरी नहीं है 
TabCaptureState
Enum
"pending" 
 
"active" 
 
"stopped" 
 
"error" 
 
तरीके
capture()
chrome.tabCapture.capture(
options: CaptureOptions,
callback: function,
): void
इस कुकी का इस्तेमाल, मौजूदा समय में खुले हुए टैब के दिखने वाले हिस्से को कैप्चर करने के लिए किया जाता है. एक्सटेंशन को इनवोक करने के बाद ही, मौजूदा समय में चालू टैब पर कैप्चर शुरू किया जा सकता है. यह activeTab की तरह ही काम करता है. टैब में पेज पर नेविगेट करने पर भी, कैप्चर करने की सुविधा चालू रहती है. यह सुविधा तब बंद होती है, जब टैब बंद कर दिया जाता है या एक्सटेंशन मीडिया स्ट्रीम को बंद कर देता है.
पैरामीटर
- 
    विकल्पयह कुकी, वापस भेजी गई मीडिया स्ट्रीम को कॉन्फ़िगर करती है. 
- 
    कॉलबैकफ़ंक्शन callbackपैरामीटर ऐसा दिखता है:(stream: LocalMediaStream) => void - 
    स्ट्रीमLocalMediaStream 
 
- 
    
getCapturedTabs()
chrome.tabCapture.getCapturedTabs(
callback?: function,
): Promise<CaptureInfo[]>
यह उन टैब की सूची दिखाता है जिन्होंने कैप्चर करने का अनुरोध किया है या जिन्हें कैप्चर किया जा रहा है. इसका मतलब है कि status != stopped और status != error. इससे एक्सटेंशन, उपयोगकर्ता को यह सूचना दे पाते हैं कि मौजूदा टैब कैप्चर की वजह से, नया टैब कैप्चर नहीं किया जा सकता. इसके अलावा, इससे एक ही टैब के लिए बार-बार किए जाने वाले अनुरोधों को रोका जा सकता है.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:(result: CaptureInfo[]) => void - 
    नतीजा
 
- 
    
रिटर्न
- 
            Promise<CaptureInfo[]> Chrome 116 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
getMediaStreamId()
chrome.tabCapture.getMediaStreamId(
options?: GetMediaStreamOptions,
callback?: function,
): Promise<string>
यह कुकी, टारगेट टैब को कैप्चर करने के लिए स्ट्रीम आईडी बनाती है. यह chrome.tabCapture.capture() तरीके की तरह ही है. हालांकि, यह मीडिया स्ट्रीम के बजाय, खरीदार टैब को मीडिया स्ट्रीम आईडी दिखाता है.
पैरामीटर
- 
    विकल्पGetMediaStreamOptions ज़रूरी नहीं है 
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:(streamId: string) => void - 
    streamIdस्ट्रिंग 
 
- 
    
रिटर्न
- 
            Promise<string> Chrome 116 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
इवेंट
onStatusChanged
chrome.tabCapture.onStatusChanged.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब किसी टैब के कैप्चर करने की स्थिति बदलती है. इससे एक्सटेंशन बनाने वाले लोग, टैब के कैप्चर स्टेटस को ट्रैक कर पाते हैं. इससे वे पेज ऐक्शन जैसे यूज़र इंटरफ़ेस (यूआई) एलिमेंट को सिंक में रख पाते हैं.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन callbackपैरामीटर ऐसा दिखता है:(info: CaptureInfo) => void - 
    जानकारी
 
-