अपने Android ऐप्स में YouTube, Vimeo और Dailymotion वीडियो प्रदर्शित करें

लेखक: Laura McKinney
निर्माण की तारीख: 3 अप्रैल 2021
डेट अपडेट करें: 16 मई 2024
Anonim
9 March 2022 Up News Uttar Pradesh Ki Taja Khabar Mukhya Samachar CM Yogi samachar Clean News UP
वीडियो: 9 March 2022 Up News Uttar Pradesh Ki Taja Khabar Mukhya Samachar CM Yogi samachar Clean News UP

विषय


एक बार जब मीडियाकंट्रोलर ऑनस्क्रीन दिखाई देता है, तो आप वीडियो को प्ले, पॉज, रिवाइंड और फास्ट-फॉरवर्ड कर सकते हैं, और मीडियाकंट्रोलर के प्रगति बार को खींचकर क्लिप के भीतर किसी भी बिंदु पर कूद सकते हैं।

अपने Android ऐप में YouTube वीडियो कैसे एम्बेड करें

डिवाइस के इंटरनेट कनेक्शन की परवाह किए बिना, यह सुनिश्चित करने के लिए कि आपके वीडियो हमेशा उपलब्ध रहें, यह सुनिश्चित करने का एक शानदार तरीका है। हालांकि, आपके ऐप में कई बड़े, उच्च-रिज़ॉल्यूशन वीडियो एम्बेड करना भी आपके एपीके के आकार को बढ़ाने का एक शानदार तरीका है!

यदि आप एपीके आकार के बारे में चिंतित हैं, या आपके एप्लिकेशन में ऐसे वीडियो शामिल हैं जो अच्छे से जोड़े गए एक्स्ट्रा कलाकार हैं, तो आप उन वीडियो को एक ऑनलाइन प्लेटफॉर्म पर प्रकाशित करना चाहते हैं और फिर रनटाइम पर अपने आवेदन के माध्यम से उन्हें स्ट्रीम कर सकते हैं।

जब ऑनलाइन वीडियो प्रकाशित करने की बात आती है, तो एक वेबसाइट होती है, जो तुरंत दिमाग में आ जाती है, इसलिए इस खंड में मैं आपको दिखाऊंगा कि एम्बेड कैसे करें कोई भी YouTube ऐप्लिकेशन में YouTube वीडियो, YouTube Android प्लेयर API क्लाइंट लाइब्रेरी का उपयोग कर रहा है।


YouTube वीडियो की ID पुनर्प्राप्त करना

शुरू करने के लिए, आपको यह तय करने की आवश्यकता है कि आप कौन सा YouTube वीडियो प्रदर्शित करना चाहते हैं, और फिर इसकी अनूठी वीडियो आईडी पुनः प्राप्त करें।

आप किसी भी YouTube वीडियो का उपयोग कर सकते हैं, लेकिन मैं "2018 की पसंदीदा टेक" का विकल्प चुन सकता हूं। अपने चुने हुए वीडियो को लोड करें और अपने ब्राउज़र के एड्रेस बार में इसके URL पर नज़र डालें, उदाहरण के लिए वीडियो के लिए URL है:

youtube.com/watch?v=hJLBcViaX8Q

आईडी उस URL का हिस्सा है जो विशिष्ट रूप से इस वीडियो की पहचान करता है, जो URL के अंत में वर्णों की स्ट्रिंग है (मूल रूप से, "=" प्रतीक के बाद सब कुछ)। वीडियो के लिए वीडियो आईडी है:

hJLBcViaX8Q

अपने वीडियो की आईडी पर ध्यान दें, क्योंकि हम बाद में इसका उपयोग करेंगे।

अपनी परियोजना के SHA-1 फिंगरप्रिंट प्राप्त करें

YouTube Android प्लेयर API तक पहुंचने के लिए, आपको Android प्रतिबंधों के साथ एक API कुंजी जेनरेट करनी होगी। इसमें API कुंजी को आपके प्रोजेक्ट के विशिष्ट पैकेज नाम और प्रमाणपत्र फ़िंगरप्रिंट (SHA-1) से जोड़ना शामिल है।


आप अपनी परियोजना के SHA-1 फिंगरप्रिंट को ग्रेडल कंसोल के माध्यम से पुनः प्राप्त कर सकते हैं:

  • एंड्रॉइड स्टूडियो विंडो के दाईं ओर स्थित ग्रेड टैब का चयन करें।
  • "कार्य" Android के बाद "एप्लिकेशन" मॉड्यूल का चयन करें।

  • स्क्रीन के नीचे-दाईं ओर दिखाई देने वाला ग्रैडल कंसोल टैब खोलें।
  • ग्रेडल कंसोल अपने आप खुल जाएगा। इस विंडो में SHA-1 मान ढूँढें, और इसे नोट करें।

हम एक डिबग प्रमाणपत्र फिंगरप्रिंट का उपयोग कर रहे हैं, जो केवल एक आवेदन के परीक्षण के लिए उपयुक्त है। किसी ऐप को प्रकाशित करने से पहले, आपको हमेशा उस एप्लिकेशन के रिलीज़ प्रमाणपत्र के आधार पर एक नई एपीआई कुंजी उत्पन्न करनी चाहिए।

Google API कंसोल के साथ रजिस्टर करें

YouTube Android प्लेयर API का उपयोग करने से पहले, आपको अपना एप्लिकेशन Google API कंसोल में पंजीकृत करना होगा:

  • एपीआई कंसोल पर सिर।
    शीर्ष लेख में, अपनी वर्तमान परियोजना का नाम चुनें (जहाँ कर्सर निम्नलिखित स्क्रीनशॉट में तैनात है)।

  • बाद की विंडो में, "नई परियोजना" चुनें।
  • अपनी परियोजना को एक नाम दें, और फिर "बनाएं" पर क्लिक करें।
  • बाएं हाथ के मेनू में, "क्रेडेंशियल्स" चुनें।
  • नीला "क्रेडेंशियल बनाएं" बटन पर क्लिक करें और फिर "एपीआई कुंजी" चुनें।
  • अब आपकी एपीआई कुंजी एक पॉपअप में दिखाई देगी, जिसमें इस एपीआई कुंजी को प्रतिबंधित करने का संकेत शामिल है। प्रतिबंधित कुंजी अधिक सुरक्षित है, इसलिए जब तक आपको विशेष रूप से अप्रतिबंधित एपीआई कुंजी की आवश्यकता नहीं होती है, तो "प्रतिबंधित कुंजी" चुनें।
  • बाद की स्क्रीन पर, अपनी API कुंजी को एक विशिष्ट नाम दें।
  • "Android ऐप्स" रेडियो बटन चुनें।
  • "पैकेज नाम और फ़िंगरप्रिंट जोड़ें" पर क्लिक करें।
  • अपनी परियोजना के SHA-1 फिंगरप्रिंट को बाद के अनुभाग में कॉपी / पेस्ट करें, और फिर अपनी परियोजना के पैकेज का नाम (जो हर जावा वर्ग फ़ाइल के शीर्ष पर और आपकी परियोजना के मैनिफेस्ट में दिखाई देता है) दर्ज करें।
  • जब आप दर्ज की गई जानकारी से खुश होते हैं, तो "सहेजें" पर क्लिक करें।

YouTube Android प्लेयर API डाउनलोड करें

इसके बाद, आपको YouTube Android प्लेयर API क्लाइंट लाइब्रेरी डाउनलोड करनी होगी। इस लाइब्रेरी का उपयोग करते समय, यह अनुशंसा की जाती है कि आप प्रोगार्ड को सक्षम करें, ताकि आपके एपीके को जितना संभव हो उतना हल्का रखने में मदद मिल सके।

अपनी परियोजना में YouTube लाइब्रेरी जोड़ने के लिए:

  • YouTube Android प्लेयर वेबसाइट पर जाएं, और नवीनतम संस्करण डाउनलोड करें।
  • बाद की ज़िप फ़ाइल को अनज़िप करें।
  • नव-अनज़ैप्ड फ़ोल्डर खोलें और उसकी "लिबास" सबफ़ोल्डर में नेविगेट करें - इसमें "YouTubeAndroidPlayerApi.jar" फ़ाइल होनी चाहिए।
  • Android Studio में, "प्रोजेक्ट" दृश्य पर स्विच करें।
  • यह सुनिश्चित करने के लिए कि YouTube लाइब्रेरी आपके बिल्ड पथ में शामिल है, आपको अपनी परियोजना के .jar को आयात करना होगा/ libs ”निर्देशिका। अपनी परियोजना का "ऐप / लिबास" फ़ोल्डर खोलें, और फिर स्थिति में .jar को खींचें और छोड़ें।

  • अपनी बिल्ड.ग्रेड फ़ाइल खोलें और एक परियोजना निर्भरता के रूप में YouTube लाइब्रेरी जोड़ें:

निर्भरताएँ {कार्यान्वयन फ़ाइलट्री (dir: libs, में शामिल हैं:) कार्यान्वयन com.android.support:appcompat-v7:28.0.0 कार्यान्वयन com.android.support:design:28.0.0 कार्यान्वयन com.android.support.constraint: बाधा-लेआउट : 1.1.3 परीक्षण कार्यान्वयन जूनियर: जूनियर: 4.12 AndroidTestImplementation com.android.support.test: धावक: 1.0.2 // निम्नलिखित // कार्यान्वयन फ़ाइलें जोड़ें (libs / YouTubeAndroidPliveApi.jar)}

  • जब संकेत दिया जाता है, तो अपनी ग्रेड फ़ाइलों को सिंक करें।

अपने मैनिफेस्ट को अपडेट करें

यदि आपका आवेदन प्रदर्शित होने वाला है कोई भी ऑनलाइन वीडियो सामग्री, फिर उसे इंटरनेट तक पहुंच की आवश्यकता होगी।

अपनी परियोजना का मेनिफेस्ट खोलें और इंटरनेट की अनुमति जोड़ें:

उपयोगकर्ता को उस सिनेमाई, वाइडस्क्रीन अनुभव का स्वाद देने के लिए, मैं लैंडस्केप मोड में लॉन्च करने के लिए MainActivity भी सेट कर रहा हूं:

YouTube प्लेयर लेआउट का निर्माण

आप किसी का उपयोग करके YouTube वीडियो प्रदर्शित कर सकते हैं:

  • YouTubePlayerView। यदि आप अपने लेआउट में YouTubePlayerView का उपयोग करना चाहते हैं, तो आपको उस लेआउट के संबंधित गतिविधि वर्ग में YouTubeBaseActivity का विस्तार करना होगा।
  • YouTubePlayerFragment। यह एक टुकड़ा है जिसमें YouTubePlayerView शामिल है। यदि आप YouTubePlayerFragment लागू करना चुनते हैं, तो आप नहीं होगा YouTubeBaseActivity से विस्तार करना होगा।

मैं YouTubePlayerView का उपयोग कर रहा हूं, इसलिए अपनी परियोजना की "activity_main.xml" फ़ाइल खोलें, और YouTubePlayerView विजेट जोड़ें:

YouTube प्लेयर को कार्यान्वित करना

इसके बाद, अपनी MainActivity खोलें और निम्नलिखित कार्यों को पूरा करें:

1. YouTubeBaseActivity बढ़ाएँ

चूंकि हम अपने लेआउट में YouTubePlayerView का उपयोग कर रहे हैं, इसलिए हमें YouTubeBaseActivity का विस्तार करने की आवश्यकता है:

सार्वजनिक वर्ग MainActivity का विस्तार YouTubeBaseActivity {

2. YouTube प्लेयर को प्रारंभ करें

हम YouTube प्लेयर को इनिशियलाइज़ करके कॉल करते हैं () और हमारे द्वारा पहले बनाई गई API कुंजी को पास करके:

YouTubePlayerView youTubePlayerView = (YouTubePlayerView) findViewById (R.id.YouTubePlayer); youTubePlayerView.initialize (Your_API_KEY, नया YouTubePlayer.OnInitializedListener () {

3. लागू करें InInitializationSuccess और onInitializationFailure

अंत में, हमें यह निर्दिष्ट करने की आवश्यकता है कि हमारे आवेदन को कैसे प्रतिक्रिया देनी चाहिए, यह इस बात पर निर्भर करता है कि प्रारंभ एक सफलता है, या एक विफलता। यदि YouTube प्लेयर को सफलतापूर्वक आरंभ किया जाता है, तो हम अपना वीडियो लोड कर सकते हैं, अद्वितीय वीडियो आईडी पास करके:

public void onInitializationSuccess (YouTubePlayer.Provider प्रदाता, YouTubePlayer youTubePlayer, boolean b) {// वीडियो आईडी निर्दिष्ट करें // youTubePlayer.loadVideo ("ZLLBcViaX8Q");

इसके बाद, हमें अपने आवेदन को यह बताने की आवश्यकता है कि असफल असफलताओं को कैसे संभालना चाहिए। मैं एक टोस्ट प्रदर्शित करने जा रहा हूं:

public void onInitializationFailure (YouTubePlayer.Provider प्रदाता, YouTubeInitializationResult youTubeInitializationResult) {Toast.makeText (MainActivity.this, "एक त्रुटि आई", Toast.LENGTH_SHORT) .show (); }

YouTube वीडियो चलाना: पूर्ण कोड

उपरोक्त सभी को अपनी मुख्यता में जोड़ें, और आपको कुछ इस तरह से समाप्त करना चाहिए:

आयात android.os.Bundle; आयात android.widget.Toast; आयात com.google.android.youtube.player.YouTubeBaseActivity; आयात com.google.android.youtube.player.YouTubeInitializationResult; आयात com.google.android.youtube.player.YouTubePlayer; आयात com.google.android.youtube.player.YouTubePlayerView; // YouTubeBaseActivity का विस्तार करें // सार्वजनिक वर्ग MainActivity YouTubeBaseActivity का विस्तार करता है {// इसे अपने स्वयं के अनूठे API कुंजी के साथ बदलना न भूलें // public static final String your_API_KEY = "yourAPI_KEY_HERE"; @Override संरक्षित शून्य onCreate (बंडल सहेजी गई InstanceState) {super.onCreate (saveInstanceState); setContentView (R.layout.activity_main); YouTubePlayerView youTubePlayerView = (YouTubePlayerView) findViewById (R.id.YouTubePlayer); // YouTube प्लेयर का प्रारंभ करें // youTubePlayerView.initialize (your_API_KEY, नया YouTubePlayer.OnInitializedListener () {@Override // यदि YouTube प्लेयर को सफलतापूर्वक प्रारंभ किया गया है ... सार्वजनिक शून्य onInitializationSuccess (YouTubePlayer.Provider प्रदाता, YouTubePlayer youTube) b) {//..तो निम्नलिखित वीडियो खेलना शुरू करें // youTubePlayer.loadVideo ("hJLBcViaX8Q");} @Override // यदि इनिशियलाइज़ेशन विफल रहता है ... // public void onInvisationFailure (YouTubePlayer.Provider प्रदाता, YouTubeInitializationResult youTubeInitializationResult) {//..तीन प्रदर्शन एक टोस्ट // Toast.makeText (MainActivity.this, "एक त्रुटि हुई", Toast.LENGTH_SHORT) .show ();}}); }}

YouTube Android प्लेयर API का परीक्षण करना

आप इस एप्लिकेशन को किसी भौतिक Android स्मार्टफ़ोन या टैबलेट, या AVD पर परीक्षण कर सकते हैं। यदि आप AVD का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आप एक सिस्टम छवि का उपयोग कर रहे हैं जिसमें Google Play सेवाएं शामिल हैं। YouTube ऐप को AVD या भौतिक Android डिवाइस पर भी इंस्टॉल किया जाना चाहिए, क्योंकि YouTube API एक ऐसी सेवा पर निर्भर करता है, जो Android ऐप के लिए YouTube के हिस्से के रूप में वितरित की जाती है।

अपने डिवाइस पर प्रोजेक्ट स्थापित करें, और जैसे ही एप्लिकेशन लोड होता है, YouTube वीडियो को स्वचालित रूप से खेलना शुरू कर देना चाहिए। यदि आप वीडियो को टैप करते हैं, तो आपके पास उन सभी परिचित YouTube नियंत्रणों तक पहुंच होगी जिनका उपयोग आप वीडियो को रोकने, चलाने, चलाने के लिए कर सकते हैं और फिर से कर सकते हैं।

एक WebView में Dailymotion सामग्री प्रदर्शित करें

जब आपके एंड्रॉइड ऐप में वीडियो एम्बेड करने की बात आती है, तो आपके द्वारा चुने जाने वाले वीडियो-साझाकरण प्लेटफार्मों की एक विस्तृत श्रृंखला होती है, और कुछ प्लेटफार्मों ने एसडीके को भी तैयार किया है जो आपको उनकी सामग्री के साथ बातचीत करने में मदद करने के लिए समर्पित है - जिसमें Dailymotion भी शामिल है।

Android के लिए Dailymotion Player SDK, Android के WebView घटक के आसपास एक पतला आवरण प्रदान करता है, जिससे आपके एप्लिकेशन में Dailymotion वीडियो एम्बेड करना आसान हो जाता है।

इस अनुभाग में, मैं आपको तृतीय पक्ष Dailymotion Player KK का उपयोग करके Dailymotion वेबसाइट से किसी भी वीडियो को स्ट्रीम करने का तरीका दिखाऊंगा।

Dailymotion वीडियो आईडी प्राप्त करें

सबसे पहले, डेलीमोशन पर जाएं, एक वीडियो ढूंढें जिसे आप प्रदर्शित करना चाहते हैं, और फिर इसकी वीडियो आईडी पुनः प्राप्त करें।

मैं कोहरे के इस समय चूक वीडियो का उपयोग करूंगा, जिसमें निम्न URL है:

www.dailymotion.com/video/x71jlg3

वीडियो की ID उसके URL के अंत में वर्णों की अद्वितीय स्ट्रिंग है, इसलिए मेरी वीडियो आईडी है: x71jlg3।

Dailymotion को जोड़ने एसडीके

चूंकि हम Dailymotion SDK का उपयोग कर रहे हैं, इसलिए हमें इसे एक परियोजना पर निर्भरता के रूप में घोषित करने की आवश्यकता है। अपनी परियोजना की बिल्ड.ग्रेड फ़ाइल खोलें, और निम्नलिखित जोड़ें:

निर्भरताएँ {कार्यान्वयन fileTree (dir: libs, में शामिल हैं: //) निम्नलिखित जोड़ें। / कार्यान्वयन com.dailymotion.dailymotion-sdk-android: sdk: 0.1.29 कार्यान्वयन com.android.support :appcompatpat-v7:28.0.0 कार्यान्वयन com.android.support:design:28.0.0 कार्यान्वयन com.android.support.constraint: बाधा-लेआउट: 1.1.3 परीक्षण कार्यान्वयन: जूनियर: 4.12 androidTestImplementation com: .android.support.test: धावक: 1.0.2}

जब संकेत दिया जाता है, तो "ग्रेड फ़ाइलों के साथ सिंक प्रोजेक्ट" चुनें।

ध्यान दें कि डिफ़ॉल्ट रूप से Dailymotion SDK आपको केवल Dailymotion के सार्वजनिक डेटा तक पहुंच प्रदान करता है, जैसे कि वीडियो का शीर्षक और विवरण।आप अपने एप्लिकेशन को Dailymotion प्लेटफ़ॉर्म पर पंजीकृत करके कुछ अतिरिक्त कार्य कर सकते हैं, लेकिन चूंकि हम सिर्फ एक वीडियो एम्बेड करना चाहते हैं, इसलिए हमें अपने आवेदन को पंजीकृत करने के बारे में चिंता करने की आवश्यकता नहीं है।

यदि आप अपने ऐप्स में अधिक Dailymotion कार्यक्षमता जोड़ने में दिलचस्प हैं, तो आप आधिकारिक डॉक्स पर, Dailymotion के साथ अपने आवेदन को पंजीकृत करने के बारे में अधिक जान सकते हैं।

इंटरनेट एक्सेस का अनुरोध करना

एक बार फिर, हम वर्ल्ड वाइड वेब से सामग्री स्ट्रीमिंग कर रहे हैं, इसलिए हमारी परियोजना को इंटरनेट की अनुमति की आवश्यकता है:

Dailymotion सामग्री को प्रदर्शित करने वाली प्रत्येक गतिविधि में एक "android: configChanges" विशेषता होनी चाहिए, इसलिए अपने मुख्य दस्तावेज़ में निम्न जोड़ें:

Dailymotion के PlayerWebView विजेट को जोड़ना

Dailymotion SDK का प्रमुख घटक एक PlayerWebView UI तत्व है, जो Android के WebView घटक के आसपास एक पतला आवरण प्रदान करता है।

हम निम्नलिखित अनुभाग में अधिक विस्तार से WebViews की खोज करेंगे, लेकिन WebViews आपको अनिवार्य रूप से आपके आवेदन में वेब पृष्ठों को एम्बेड करने का एक तरीका देते हैं। यदि हम SDK के विशेष प्लेयरवेब व्यू का उपयोग नहीं कर रहे हैं, तो हम अपने आवेदन में संपूर्ण Dailymotion वेब पेज प्रदर्शित करने के लिए Android के वेनिला वेब व्यू घटक का उपयोग कर सकते हैं।

इसके बजाय, हमारे लेआउट में एक PlayerWebView जोड़ें:

हमारे Dailymotion PlayerWebView को कॉन्फ़िगर करना

अब हमने PlayerWebView विजेट को लागू कर दिया है, हमें अपने संबंधित गतिविधि वर्ग में खिलाड़ी को कॉन्फ़िगर करना होगा।

अपनी मेनऐक्टिविटी खोलें, और प्लेयरवेब व्यू का संदर्भ प्राप्त करके शुरुआत करें:

DailyMotionPlayer = (PlayerWebView) findViewById (R.id.dailymotionPlayer);

फिर, "dailyMotionPlayer.load" पर कॉल करें और वह वीडियो आईडी पास करें जिसे हमने पहले प्राप्त किया था:

dailyMotionPlayer.load ( "x71jlg3");

यह हमें निम्नलिखित देता है:

import android.support.v7.app.AppCompatActivity; आयात android.os.Bundle; आयात com.dailymotion.android.player.sdk.PlayerWebView; आयात java.util.ashMap; आयात java.util.Map; सार्वजनिक वर्ग MainActivity का विस्तार AppCompatActivity {Private PlayerWebView dailyMotionPlayer; @Override संरक्षित शून्य onCreate (बंडल सहेजी गई InstanceState) {super.onCreate (saveInstanceState); setContentView (R.layout.activity_main); // हमारे PlayerWebView // dailyMotionPlayer = (PlayerWebView) का पता लगाएं ViewById (R.id.dailymotionPlayer); नक्शा खिलाड़ीप्रेम = नया हशपप <> (); // हमारे मापदंडों के साथ वीडियो लोड करें // playerParams.put ("कुंजी", "मूल्य"); // वीडियो आईडी पास करें // dailyMotionPlayer.load ("x71jlg3"); }}

एक भौतिक Android डिवाइस या एमुलेटर पर अपनी परियोजना स्थापित करें, और आपका Dailymotion वीडियो स्वचालित रूप से खेलना शुरू कर देना चाहिए।

एक Vimeo वीडियो एम्बेड करना

जब वीडियो सामग्री एम्बेड करने की बात आती है, तो आप आमतौर पर प्लेटफ़ॉर्म-विशिष्ट API या प्लेटफ़ॉर्म-विशिष्ट SDK का उपयोग करना चाहते हैं। लेकिन, अगर आपके मन में मौजूद वीडियो-साझाकरण प्लेटफ़ॉर्म के लिए SDK या API उपलब्ध नहीं है, तो क्या होगा?

इन परिदृश्यों में, आप वीडियो को अपनी गतिविधि के लेआउट में एम्बेड किए गए वेब पेज के रूप में प्रदर्शित करने के लिए एंड्रॉइड के वेब व्यू घटक का उपयोग कर सकते हैं। इस अंतिम खंड में, मैं आपको दिखाता हूं कि कैसे एक वेब व्यू का उपयोग करके लोकप्रिय Vimeo प्लेटफॉर्म से वीडियो एम्बेड किया जाए।

वीडियो सामग्री प्रदर्शित करने के अलावा, WebView कई अन्य परिदृश्यों में उपयोगी हो सकता है। उदाहरण के लिए, कल्पना करें कि आपके पास कुछ सामग्री है जिसे नियमित रूप से अपडेट करने की आवश्यकता है; उस सामग्री को ऑनलाइन होस्ट करना और फिर उसे एक WebView के माध्यम से अपने एप्लिकेशन में प्रदर्शित करना, आपके ऐप के नए संस्करण को प्रकाशित किए बिना, उस सामग्री को किसी भी समय ऑनलाइन बदलने की सुविधा देता है। हालाँकि, WebViews का उपयोग करते समय बस सतर्क रहें क्योंकि वे आमतौर पर स्टैंड-अलोन वेब ब्राउज़र से आपके द्वारा अपेक्षित कई सुविधाओं का समर्थन नहीं करते हैं। विशेष रूप से, WebViews में एड्रेस बार या नेविगेशनल नियंत्रण का अभाव होता है, जो उपयोगकर्ताओं के साथ बातचीत करने के लिए उनकी सामग्री को कठिन बना सकता है।

WebView का उपयोग करने से पहले, आपको हमेशा इस बात पर विचार करना चाहिए कि क्या वैकल्पिक समाधान अधिक उपयुक्त हो सकता है, उदाहरण के लिए आप सामग्री को डिवाइस के डिफ़ॉल्ट वेब ब्राउज़र पर लोड कर सकते हैं, या Chrome कस्टम टैब को लागू कर सकते हैं।

घोषणापत्र को अद्यतन करना

चूंकि हम इंटरनेट से वीडियो स्ट्रीमिंग कर रहे हैं, इसलिए हमें अपने मेनिफेस्ट में इंटरनेट की अनुमति को जोड़ना होगा:

मैं भी MainActivity को लैंडस्केप मोड में लॉन्च करने जा रहा हूं:

हमारे UI में एक WebView जोड़ना

इसके बाद, हमारे ऐप में एक WebView जोड़ें। हम अपने एप्लिकेशन की ऑनक्रीट () विधि में इसे लागू करके या तो वेबव्यू को अपनी गतिविधि के लेआउट में जोड़ सकते हैं, या पूरी गतिविधि को एक वेब व्यू में बदल सकते हैं।

मैं हमारे एप्लिकेशन के लेआउट में एक WebView जोड़ने जा रहा हूं:

अपना वीडियो चुनें

एक बार फिर, हमें प्रदर्शन के लिए एक वीडियो की आवश्यकता है, लेकिन इस बार हम हैं नहीं वीडियो आईडी का उपयोग करना:

  • Vimeo पर जाएं और एक वीडियो चुनें जिसे आप उपयोग करना चाहते हैं; मैंने इस शीतकालीन समय व्यतीत होने का विकल्प चुना है।
  • "शेयर" बटन पर क्लिक करें।
  • "एंबेड" आइकन का चयन करें; यह आपको एक एम्बेड कोड प्रदान करेगा जो कुछ इस तरह दिखना चाहिए:

यह कोड निम्नलिखित जानकारी प्रदान करता है:

  • iframe। निर्दिष्ट करता है कि हम वर्तमान संदर्भ में किसी अन्य HTML पृष्ठ को एम्बेड कर रहे हैं।
  • src। वीडियो का पथ, इसलिए आपका ऐप जानता है कि इस वीडियो को कहां खोजना है।
  • चौड़ाई ऊंचाई। वीडियो के आयाम।
  • ढांचा सीमा। वीडियो के फ्रेम के चारों ओर एक बॉर्डर प्रदर्शित करना है या नहीं। संभावित मूल्य सीमा (1) हैं और कोई सीमा नहीं है (0)।
  • पूर्ण स्क्रीन की अनुमति दें। यह वीडियो को फुलस्क्रीन मोड में प्रदर्शित करने में सक्षम बनाता है।

मैं इस प्रोजेक्ट में एक स्ट्रिंग के रूप में इस एम्बेड कोड को जोड़ने जा रहा हूं, इसलिए आपको इस जानकारी को निम्नलिखित टेम्पलेट में कॉपी / पेस्ट करना होगा:

स्ट्रिंग vimeoVideo = "आपका लिंक यहाँ है';

निराशा की बात है, हमें अपने एंड्रॉइड ऐप के साथ एम्बेड कोड के संगत होने से पहले कुछ बदलाव करने की आवश्यकता है। सबसे पहले, हमें कुछ "" वर्ण जोड़ने होंगे, ताकि Android Studio गलत स्वरूपण के बारे में शिकायत न करे:

स्ट्रिंग vimeoVideo = "';

अंत में, कुछ Android स्मार्टफोन स्क्रीन के लिए डिफ़ॉल्ट वीडियो आयाम बहुत बड़े हो सकते हैं।
उत्पादन में, आप आमतौर पर विभिन्न आयामों के साथ प्रयोग करते हैं, यह देखने के लिए कि सर्वोत्तम परिणाम, यथासंभव विभिन्न स्क्रीन विन्यासों को क्या प्रदान करता है। हालांकि, इस लेख को नियंत्रण से बाहर रखने में मदद करने के लिए, मैं सिर्फ निम्नलिखित का उपयोग करने जा रहा हूं, जो आपके "विशिष्ट" एंड्रॉइड स्मार्टफोन स्क्रीन पर अच्छे परिणाम प्रदान करें:

स्ट्रिंग vimeoVideo = "';

अपने Android ऐप में एक वेब पेज प्रदर्शित करना

अब हमने अपना लेआउट बना लिया है और हमारे HTML को जाने के लिए तैयार हैं, अपने MainActivity को खोलें और हमारे WebView को लागू करने दें।

HTML स्ट्रिंग जोड़कर प्रारंभ करें:

स्ट्रिंग vimeoVideo = "';

अगला, हमें अपने WebView में उपर्युक्त वेब पेज को लोड करने की आवश्यकता है, loadUrl () विधि का उपयोग करते हुए:

webView.loadUrl (request.getUrl () toString ()।);

जावास्क्रिप्ट डिफ़ॉल्ट रूप से अक्षम है, इसलिए हमें इसे अपने WebView में सक्षम करना होगा।

हर बार जब आप एक WebView बनाते हैं, तो यह स्वचालित रूप से डिफ़ॉल्ट वेबसेटिंग का एक सेट निर्दिष्ट करता है। हम getSettings () विधि का उपयोग करके, और फिर जावास्क्रिप्ट को सक्षम करते हुए setJavaScriptEnabled () का उपयोग करते हुए, इस WebSettings ऑब्जेक्ट को प्राप्त करेंगे।

WebSettings webSettings = webView.getSettings (); webSettings.setJavaScriptEnabled (सही);

अपने मेनऐक्विटी में यह सब जोड़ने के बाद, आपके कोड को कुछ इस तरह दिखना चाहिए:

import android.support.v7.app.AppCompatActivity; आयात android.os.Bundle; आयात android.webkit.WebResourceRequest; आयात android.webkit.Webettings; आयात android.webkit.WebView; आयात android.webkit.WebViewClient; सार्वजनिक वर्ग MainActivity का विस्तार AppCompatActivity {@ ऑवरराइड रक्षित शून्य onCreate (बंडल saveInstanceState) {super.onCreate (saveInstanceState); setContentView (R.layout.activity_main); स्ट्रिंग vimeoVideo = ""; WebView webView = (WebView) findViewById (R.id.myWebView); webView.setWebViewClient (नया WebViewClient () {@Override public boolean shouldOnerideUrlLoading (WebView webView, WebResourceRequest request) {webView.loadUrl (अनुरोध) ;)

अपने Vimeo एप्लिकेशन का परीक्षण

आप अब तक की ड्रिल को जानते हैं: इस प्रोजेक्ट को एक भौतिक Android डिवाइस या AVD पर स्थापित करें। WebView स्वचालित रूप से खेलने के लिए सेट नहीं है, इसलिए आपको Vimeo के मीडिया नियंत्रणों को प्रकट करने के लिए वीडियो को टैप करने की आवश्यकता होगी। फिर आप वीडियो को सही ढंग से चलाने के लिए वीडियो को प्ले, पॉज, रिवाइंड और फास्ट-फॉरवर्ड कर सकते हैं।

समेट रहा हु

इस लेख में, मैंने आपको प्लेटफ़ॉर्म-विशिष्ट API और SDK, और Android के स्वयं के WebView घटक का उपयोग करके YouTube, Vimeo और Dailymotion वीडियो को अपने ऐप्स में जोड़ने का तरीका दिखाया। मैंने आपको यह भी दिखाया कि अपने आवेदन के साथ एक वीडियो फ़ाइल को कैसे बंडल किया जाए, इसलिए इसे स्थानीय रूप से संग्रहीत और खेला जा सकता है।

अपने उपयोगकर्ताओं को मल्टीमीडिया सामग्री प्रदर्शित करने के लिए आपका पसंदीदा तरीका क्या है? नीचे टिप्पणी करके हमें बताएं!

आज, Google ने इसकी पुष्टि की कगार मूल Google पिक्सेल स्मार्टफोन को एक और अपडेट प्राप्त होगा। सॉफ्टवेयर का वह अंतिम टुकड़ा दिसंबर में डिवाइस को धक्का देगा, जो तब ओजी पिक्सेल स्मार्टफोन के लिए जीवन के अ...

2019 का ऑस्कर टेलीकास्ट इस रविवार को होता है, जहाँ आप देख पाएंगे कि इस साल जिन भी समस्याओं का सामना करना पड़ा है, उन सभी समस्याओं को देखते हुए एक उल्लेखनीय घटना क्या होगी।...

पोर्टल के लेख