ऑडियो ट्रैक
ऑडियो ट्रैक चुनने के लिए, वेब पाने वाला SDK टूल
AudioTracksManager
ऐसी क्लास चुनें जो ट्रैक चुनने की प्रोसेस को आसान और बेहतर बनाती है. इससे आपको ज़्यादा कंट्रोल मिलता है
और नाम, यूआरएल, और भाषा जैसी प्रॉपर्टी तक बेहतर ऐक्सेस की सुविधा मिलेगी. यह क्लास
इवेंट हैंडलर में सबसे अच्छी तरह से इस्तेमाल किया जाता है
cast.framework.events.EventType.PLAYER_LOAD_COMPLETE
इवेंट.
यह एपीआई, चालू ऑडियो ट्रैक के बारे में क्वेरी करने और उन्हें चुनने के कई तरीके उपलब्ध कराता है. यहां किसी ट्रैक का आईडी बताकर, उसे चालू करने के लिए उसे चुनने का तरीका एक उदाहरण है:
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
playerManager.addEventListener(
cast.framework.events.EventType.PLAYER_LOAD_COMPLETE, () => {
const audioTracksManager = playerManager.getAudioTracksManager();
// Get all audio tracks
const tracks = audioTracksManager.getTracks();
// Choose the first audio track to be active by specifying its ID
audioTracksManager.setActiveById(tracks[0].trackId);
});
context.start();
AudioTracksManager
क्लास एक तरीका भी देती है
getActiveTrack()
.
यहां एक उदाहरण दिया गया है, जिसमें किसी विज्ञापन के लिए पहला ऑडियो ट्रैक चुनने का तरीका बताया गया है भाषा, इस मामले में अंग्रेज़ी:
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
playerManager.addEventListener(
cast.framework.events.EventType.PLAYER_LOAD_COMPLETE, () => {
const audioTracksManager = playerManager.getAudioTracksManager();
// Set the first matching language audio track to be active
audioTracksManager.setActiveByLanguage('en');
});
context.start();
AudioTracksManager
क्लास एक तरीका भी देती है
getTracksByLanguage(language)
जो बताई गई भाषा के लिए सभी ट्रैक दिखाता है.
ऑडियो भाषा कोड को मीडिया मेनिफ़ेस्ट से लिया गया है. इसे बाद में आरएफ़सी 5646. भाषा कोड 2-वर्णों के नामकरण में प्रस्तुत किए जा सकते हैं (जैसे "es", "hi" या "de") या 4 वर्णों का नामकरण (जैसे कि "en-us", "es-es" या "fr-ca").
अगर मीडिया मेनिफ़ेस्ट किसी अलग भाषा कोड मानक का पालन करता है, तो
ऐप्लिकेशन पाने वाले ऐप्लिकेशन को उसे आरएफ़सी 5646 की पुष्टि करने वाले भाषा कोड में बदलना होगा. वेबसाइट
रिसीवर SDK टूल, बेहतर परफ़ॉर्म करने के लिए इंटरसेप्टर EDIT_AUDIO_TRACKS
देता है
संशोधन:
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
// Intercept the EDIT_AUDIO_TRACKS request
playerManager.setMessageInterceptor(cast.framework.messages.MessageType.EDIT_AUDIO_TRACKS, request => {
// write logic to convert language codes here
});
context.start();
विज्ञापन के लिए ब्रेक के दौरान, कोई भी ऑडियो ट्रैक चुनें. जैसे, भाषा, ब्रेक से पहले बनाया गया कॉन्टेंट, ब्रेक के बाद भी उसी कॉन्टेंट पर बना रहेगा. भले ही, विज्ञापन किसी अन्य भाषा में हों.
सबटाइटल
सबटाइटल ट्रैक चुनने के लिए, वेब रिसीवर SDK टूल
TextTracksManager
ऐसी क्लास चुनें जो ट्रैक चुनने की प्रोसेस को आसान और बेहतर बनाती है. इससे आपको ज़्यादा कंट्रोल मिलता है
और नाम, यूआरएल, और भाषा जैसी प्रॉपर्टी तक बेहतर ऐक्सेस की सुविधा मिलेगी.
TextTracksManager
क्लास का सबसे अच्छा इस्तेमाल इवेंट हैंडलर में
cast.framework.events.EventType.PLAYER_LOAD_COMPLETE
इवेंट.
वेब रिसीवर SDK टूल में सबटाइटल चुनने की प्रोसेस को आसान और बेहतर बनाया गया है के दूसरे हिस्सों के साथ काम करता है.
यह एपीआई, WebVTT, TTML, और CEA-608 को कंट्रोल करने की सुविधा देता है.
TextTracksManager
क्लास में, क्लोज़्ड क्वेरी और उन्हें चुनने के कई तरीके मिलते हैं
सक्रिय होने के लिए कैप्शन ट्रैक. यहां एक उदाहरण दिया गया है, जिसमें पहला ट्रैक चुनने का तरीका बताया गया है
सक्रिय करने के लिए इसका आईडी दर्ज करें:
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
playerManager.addEventListener(
cast.framework.events.EventType.PLAYER_LOAD_COMPLETE, () => {
const textTracksManager = playerManager.getTextTracksManager();
// Get all text tracks
const tracks = textTracksManager.getTracks();
// Choose the first text track to be active by its ID
textTracksManager.setActiveByIds([tracks[0].trackId]);
});
context.start();
TextTracksManager
क्लास एक तरीका भी देती है
getActiveTracks()
.
यहां एक उदाहरण दिया गया है, जिसमें किसी खास टेक्स्ट के लिए पहला टेक्स्ट ट्रैक चुनने का तरीका बताया गया है भाषा:
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
playerManager.addEventListener(
cast.framework.events.EventType.PLAYER_LOAD_COMPLETE, () => {
const textTracksManager = playerManager.getTextTracksManager();
// Set the first matching language text track to be active
textTracksManager.setActiveByLanguage('en');
});
context.start();
TextTracksManager
क्लास एक तरीका भी देती है
getTracksByLanguage(language)
जो बताई गई भाषा के लिए सभी ट्रैक दिखाता है.
टेक्स्ट भाषा कोड को मीडिया मेनिफ़ेस्ट से फिर से लिया गया है. इसे आरएफ़सी 5646. भाषा कोड 2-वर्णों के नामकरण में प्रस्तुत किए जा सकते हैं (जैसे "es", "hi" या "de") या 4 वर्णों का नामकरण (जैसे कि "en-us", "es-es" या "fr-ca").
अगर मीडिया मेनिफ़ेस्ट किसी अलग भाषा कोड मानक का पालन करता है, तो
पाने वाले ऐप्लिकेशन को, आने वाले अनुरोध उस मानक में बदलना होगा. ये
अनुरोध, जैसे कि बोलकर निर्देश देने के लिए, आरएफ़सी 5646 भाषा के कोड इस्तेमाल किए जाते हैं. वेब रिसीवर
अनुरोधों का अनुवाद करने के लिए, SDK टूल एक इंटरसेप्टर EDIT_TRACKS_INFO
देता है
मेनिफ़ेस्ट का मानक:
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
// intercept the EDIT_TRACKS_INFO request
playerManager.setMessageInterceptor(cast.framework.messages.MessageType.EDIT_TRACKS_INFO, request => {
// write logic to convert language codes here
});
context.start();
एपीआई की मदद से डेवलपर, डाइनैमिक रूप से नए सबटाइटल ट्रैक जोड़ सकता है. केस अलग-अलग भाषाओं और आउट-ऑफ़-बैंड ट्रैक के लिए सेट करें. इसके बाद, नया सक्रिय ट्रैक बनें:
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
playerManager.addEventListener(
cast.framework.events.EventType.PLAYER_LOAD_COMPLETE, () => {
// Create text tracks object
const textTracksManager = playerManager.getTextTracksManager();
// Create track 1 for English text
const track1 = textTracksManager.createTrack();
track1.trackContentType = 'text/vtt';
track1.trackContentId = 'http://example.com/en.vtt';
track1.language = 'en';
// Create track 2 for Spanish text
const track2 = textTracksManager.createTrack();
const track2Id = track2.trackId;
track2.trackContentType = 'text/vtt';
track2.trackContentId = 'http://example.com/spa.vtt';
track2.language = 'spa';
// Add tracks
textTracksManager.addTracks([track1, track2]);
// Set the first matching language text track to be active
textTracksManager.setActiveByLanguage('en');
});
context.start();
विज्ञापन के लिए ब्रेक के दौरान, टेक्स्ट ट्रैक चुनने का विकल्प, जैसे कि भाषा ब्रेक से पहले उसी कॉन्टेंट के लिए ब्रेक के बाद भी विज्ञापन बना रहेगा, भले ही विज्ञापन किसी अन्य भाषा में हों.
फ़ोर्स किए गए कैप्शन
फ़ोर्स किए गए कैप्शन या फ़ोर्स किए गए ब्यौरे को टेक्स्ट ओवरले कहा जाता है. इसे इस तरह से दिखाया जाता है: इससे दर्शकों को पता चल सकता है कि किसी दूसरी भाषा का इस्तेमाल कब किया गया है. इसके अलावा, उन्हें यह भी पता चल सकता है कि ऑडियो का इस्तेमाल कब किया गया है. सबटाइटल के उलट, दर्शकों को फ़ोर्स किए गए कैप्शन की सुविधा को चालू करने की ज़रूरत नहीं होती, क्योंकि जिन्हें दर्शक की ऑडियो पसंद के आधार पर अपने-आप चुना जाता है.
अपने Cast ऐप्लिकेशन में फ़ोर्स किए गए कैप्शन जोड़ने के लिए, आपको इसे इस रूप में शामिल करना होगा
का हिस्सा है. अपने मेनिफ़ेस्ट में, ट्रैक की भूमिका यह सेट करें कि
forced-subtitle
. जब Cask SDK इन ट्रैक को उठाएगा, तो यह
फ़ोर्स किए गए कैप्शन के तौर पर. भेजने के लिए किसी काम की ज़रूरत नहीं होती, क्योंकि Cast SDK
फ़ोर्स किए गए कैप्शन और बंद कैप्शन को अलग-अलग करें. इसका मतलब है कि दर्शक
फ़ोर्स किए गए कैप्शन को चुना जा सकता है.
जब सबटाइटल चालू होते हैं, तो इन्हें रोकने के लिए, फ़ोर्स किए गए कैप्शन बंद हो जाते हैं एक-दूसरे के साथ कई कैप्शन शामिल करना. सबटाइटल की सुविधा बंद होने पर या फ़ोर्स किए गए कैप्शन की सुविधा पर मेनिफ़ेस्ट में दिए गए होते हैं. इसके बाद, फ़ोर्स किए गए कैप्शन, दर्शक की ऑडियो भाषा प्राथमिकता.