एंड्रॉइड यूट्यूब ऐप प्ले वीडियो इरादा


113

मैंने एक ऐप बनाया है जहां आप एंड्रॉइड के लिए यूट्यूब वीडियो डाउनलोड कर सकते हैं। अब, मुझे यह चाहिए कि यदि आप YouTube मूल ऐप में कोई वीडियो चलाते हैं तो आप इसे भी डाउनलोड कर सकते हैं। ऐसा करने के लिए, मुझे यह जानने की आवश्यकता है कि YouTube ऐप को चलाने के लिए YouTube मूल ऐप बाहर निकलता है।
अगर मैं अपने एमुलेटर पर यूट्यूब प्रोग्राम करता हूं तो मैं इसे आसानी से कर सकता हूं, इसलिए मेरा पहला प्रश्न है:
1. क्या मैं अपने एमुलेटर के लिए यूट्यूब ऐप डाउनलोड कर सकता हूं, या ...
2. इरादा क्या है जब उपयोगकर्ता प्लेबैक के लिए एक वीडियो का चयन करता है।

  0

यह मदद कर सकता है भी http://www.gadgetsaint.com/android/play-youtube-android-youtube-player-api/ 10 apr. 172017-04-10 05:31:31

7

यूट्यूब (और मार्केट एप्लिकेशन) केवल विशेष रोम के साथ उपयोग किया जाना चाहिए, जिसे Google ने जी 1 और जी 2 के लिए जारी किया था। तो आप दुर्भाग्यवश, एमुलेटर में उपयोग किए जाने वाले ओपनसोर्स-रोम में उन्हें नहीं चला सकते हैं। खैर, शायद आप आधिकारिक तौर पर समर्थित तरीके से नहीं कर सकते हैं।

  0

आप असमर्थित तरह से पता है? 01 mar. 092009-03-01 07:03:45

  0

क्षमा करें, नहीं। बस संभावना से इंकार नहीं करना चाहता था। 01 mar. 092009-03-01 16:12:15


5

यह मिला:

03-18 12:40:02.842: INFO/ActivityManager(68): Starting activity: Intent { action=android.intent.action.VIEW data=(URL TO A FLV FILE OF THE VIDEO) type=video/* comp={com.google.android.youtube/com.google.android.youtube.YouTubePlayer} (has extras) } 
  0

बहुत बढ़िया! तो क्या आपने इसके लिए एक प्रसारण रिसीवर बनाया है? 26 sep. 172017-09-26 15:04:25


162

यह एक युक्ति नहीं बल्कि एमुलेटरLemmy's answer प्रति पर काम करेंगे।

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=cxLG2wtE7TM"))); 
  0

यह मेरे लिए विजेता था, अगर आपके पास यूट्यूब ऐप इंस्टॉल है तो यह पूछता है कि क्या आप इसके बजाय इसका उपयोग करना चाहते हैं। 23 mar. 102010-03-23 16:37:52

  0

इस कोड का उपयोग करें मुझे यूट्यूब और ब्राउज़र के लिए इच्छित चयनकर्ता मिलते हैं। इसे कैसे छिपाना है? मुझे बस यूट्यूब प्लेयर से सीधे लिंक करने की आवश्यकता है। 21 may. 102010-05-21 14:13:08

  0

@Praveen चंद्रशेखरन यूट्यूब ऐप उपलब्ध नहीं हो सकता है - इरादा का उपयोग करना सबसे अच्छा है, और सिस्टम को यह निर्धारित करने दें कि कौन से इंस्टॉल किए गए ऐप्स अनुरोध का समर्थन करते हैं। 23 sep. 102010-09-23 12:27:53

+3

स्टार्ट एक्टिविटी को कॉल करने से पहले आपको इरादे पर setClassName को कॉल करने की आवश्यकता होगी, जैसे: intent.videoClient.setClassName ("com.google.android.youtube", "com.google.android.youtube.playerActivity"); एक कार्य कोड उदाहरण के लिए साना का जवाब देखें। 28 jan. 112011-01-28 15:50:02

  0

यह मेरे लिए काम नहीं करता है, एक वास्तविक डिवाइस पर यूट्यूब ऐप स्थापित है। यह अभी भी वेब ब्राउज़र खोलता है। हालांकि नीचे बिबिटी द्वारा दृष्टिकोण काम करता है। या शायद सममित की टिप्पणी, कोशिश नहीं की है। 11 nov. 112011-11-11 08:10:14

  0

+1 अच्छा .. और डिफ़ॉल्ट प्लेयर के रूप में यूट्यूब प्लेयर कैसे सेट करें ... 09 feb. 122012-02-09 10:01:49

  0

यह मेरे लिए वास्तविक डिवाइस पर बिल्कुल काम नहीं करता है। बस कहते हैं कि यह वीडियो नहीं चला सकता है। मेरे पास यूट्यूब स्थापित है। इस कोड का उपयोग करते समय 18 mar. 122012-03-18 23:05:30

  0

मैं वीडियो चलाने में सक्षम हूं, लेकिन जब मैंने अपने ब्राउज़र को अपना यूट्यूब वेबपृष्ठ लोड किया है और मुझे क्लिक करने की आवश्यकता है, तो इस चरण 25 jul. 132013-07-25 09:02:27

  0

mhhh से बचने का कोई तरीका है। उसी तरह का, लेकिन भिन्न। सिवाय इसके कि आपके पास एक लाइनर है;) लेकिन यह भी काम करता है। 10 jun. 142014-06-10 14:49:37

  0

http://stackoverflow.com/a/12439378/578309 लंबा लेकिन सुरक्षित है, यह समाधान छोटा है लेकिन कुछ उपकरणों पर काम नहीं कर सकता है। 10 feb. 172017-02-10 11:33:33

  0

आप यूट्यूब प्लेयर एपीआई भी कोशिश कर सकते हैं http://www.gadgetsaint.com/android/play-youtube-android-youtube-player-api/ 07 apr. 172017-04-07 13:40:39


1

आप, साथ ही प्राप्त कर सकते हैं WebViewClient

wvClient = new WebViewClient() { 
@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    if (url.startsWith("youtube:")) { 
    String youtubeUrl = "http://www.youtube.com/watch?v=" 
    + url.Replace("youtube:", ""); 
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(youtubeUrl))); 
} 
return false; 
} 

मेरे एप्लिकेशन में ठीक काम किया।


0

इस प्रयास करें,

 WebView webview = new WebView(this); 

     String htmlString = "<html> <body> <embed src=\"youtube link\"; type=application/x-shockwave-flash width="+widthOfDevice+" height="+heightOfDevice+"> </embed> </body> </html>"; 

     webview.loadData(htmlString ,"text/html", "UTF-8"); 
  0

यह मेरे लिए काम नहीं करता है। 16 nov. 102010-11-16 23:49:34

  0

यह मेरे लिए भी काम नहीं किया गया है। क्या एम्यूलेटर में फ़्लैश प्लेयर की कोई आवश्यकता नहीं है। 16 nov. 112011-11-16 06:15:11


10
Intent videoClient = new Intent(Intent.ACTION_VIEW); 
    videoClient.setData(Uri.parse("http://m.youtube.com/watch?v="+videoId)); 
    startActivityForResult(videoClient, 1234); 

जहां VIDEOID यूट्यूब वीडियो को चलाया जाना है की वीडियो आईडी है। यह कोड मोटोरोला मीलस्टोन पर ठीक काम करता है।

लेकिन मूल रूप से हम क्या कर सकते हैं यह जांचना है कि जब आप यूट्यूब ऐप शुरू करते हैं और तदनुसार पैकेजनाम और क्लासनाम के लिए विकल्प चुनते हैं तो कौन सी गतिविधि लोड की जाती है। पुराने सवाल का जवाब देने से

public class abc extends Activity implements OnPreparedListener{ 

    /** Called when the activity is first created. */ 

    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=cxLG2wtE7TM")));   


    @Override 
     public void onPrepared(MediaPlayer mp) { 
     // TODO Auto-generated method stub 

    } 
    } 
} 
  0

मुझे निम्न त्रुटि मिल रही है। 'त्रुटि/एंड्रॉइड रनटाइम (1519): कारण: android.content.ActivityNotFoundException: स्पष्ट गतिविधि वर्ग {com.google.android.youtube/com.google.android.youtube.playerActivity} ढूंढने में असमर्थ; क्या आपने इस गतिविधि को अपने AndroidManifest.xml में घोषित किया है? ' कृपया इसे हल करें। 14 jun. 112011-06-14 14:06:37

  0

आपका डिवाइस क्या है? यह गतिविधि नाम केवल मोटोरोला मील का पत्थर के लिए विशिष्ट है, लेकिन यदि आप यूएसबी डिबगिंग मोड में अपने डिवाइस में यूट्यूब गतिविधि प्लग के लिए गतिविधि का नाम देखना चाहते हैं और जब आप यूट्यूब ऐप पर क्लिक करते हैं तो लॉगकैट देखें। यह आपको गतिविधि नाम के साथ ज्ञात पैकेज नाम देना चाहिए। 15 jun. 112011-06-15 02:00:53


1

इस प्रयास करें वैध यूट्यूब यूआरएल उपयोगकर्ता के साथ ACTION_VIEW के साथ गतिविधि चयनकर्ता को वैसे भी मिलता है। ऐसा लगता है कि मैं केवल पेट के बाद दो स्लैश के बजाय 'vnd.youtube:VIDEO_ID' की जरूरत

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube://" + video_id); 
startActivity(intent); 

अब जब कि मैं कुछ और अधिक शोध किया है, (':


4

, बस तुम लोग उस पैकेज को बदल दिया है, यहाँ अद्यतन

Intent videoClient = new Intent(Intent.ACTION_VIEW); 
videoClient.setData("VALID YOUTUBE LINK WITH HTTP"); 
videoClient.setClassName("com.google.android.youtube", "com.google.android.youtube.WatchActivity"); 
startActivity(videoClient); 

यह बहुत अच्छी तरह से काम करता है सूचित करने के लिए है, लेकिन जब आप सामान्य आशय फोन:


26

यहाँ कैसे मैं इस समस्या हल हो जाती है : 'बनाम': // '):

http://it-ride.blogspot.com/2010/04/android-youtube-intent.html

मैं यहाँ सुझाव के सबसे करने की कोशिश की और वे वास्तव में अपवाद को ऊपर उठाने चाहिए "प्रत्यक्ष" तरीकों के सभी के साथ बहुत अच्छी तरह से काम नहीं किया। मुझे लगता है कि, मेरी विधि के साथ, यदि यूट्यूब ऐप इंस्टॉल नहीं है, तो ऐप को ऐप को दुर्घटनाग्रस्त करने के अलावा किसी अन्य चीज़ की डिफ़ॉल्ट फ़ॉलबैक स्थिति है।ऐप सैद्धांतिक रूप से केवल उन पर यूट्यूब ऐप के साथ डिवाइस पर जा रहा है, इसलिए यह एक गैर-मुद्दा होना चाहिए।

  0

यह मेरे लिए काम किया :) 01 nov. 112011-11-01 13:35:39

  0

हैलो, क्या इसे वेबव्यू में खेलने के बजाय ऐप में यूट्यूब वीडियो चलाने के लिए संभव है? 08 oct. 122012-10-08 06:07:31

  0

@Scorpion ऐसी संभावना के साथ यूट्यूब एपीआई है। 31 may. 132013-05-31 19:13:53

  0

यह बहुत अच्छा काम करता है! लेकिन आपकी पहली पंक्ति पर एक दाएं कोष्ठक गायब हैं। 17 jan. 162016-01-17 13:58:43


18

मेरे कोड का उपयोग करें .. मैं इस कोड का उपयोग यूट्यूब वीडियो खेलने के लिए सक्षम हूँ ... तुम सिर्फ "VIDEOID" चर में यूट्यूब वीडियो ID देना होगा ....

String videoId = "Fee5vbFLYM4"; 
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:"+videoId)); 
intent.putExtra("VIDEO_ID", videoId); 
startActivity(intent); 
+3

यह सीधे यूट्यूब एप्लिकेशन शुरू करता है, जो चयनकर्ता मेनू को छोड़ देता है जिसमें आप जेलीबीन पर क्रोम और यूट्यूब के बीच चयन कर सकते हैं। 29 aug. 122012-08-29 08:16:57

+2

@ r1k0 हां .... यह कोड सीधे यूट्यूब वीडियो को सभी प्रकार के एंड्रॉइड ओएस में चलाने के लिए डिफ़ॉल्ट यूट्यूब ऐप शुरू करेगा (न केवल जेलीबीन में)। 29 aug. 122012-08-29 14:00:50

+1

यदि आपके पास एक से अधिक यूट्यूब प्लेयर ऐप (उदाहरण फ़ायरट्यूब) है तो यह आपको अभी भी चुन देगा। बस कह रहा है और इसे स्पष्ट कर रहा हूँ। 12 apr. 162016-04-12 03:56:23


5

संपादित करें: कार्यान्वयन के नीचे कम से कम कुछ एचटीसी उपकरणों (वे दुर्घटनाग्रस्त) पर समस्याएं साबित हुईं। इसी कारण से मैं setclassname का उपयोग नहीं करता और एक्शन चयनकर्ता मेनू के साथ चिपक जाता हूं। मैं अपने पुराने कार्यान्वयन का उपयोग करके दृढ़ता से निराश हूं।

के बाद वर्ष दिया गया है:

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(youtubelink)); 
       if(Utility.isAppInstalled("com.google.android.youtube", getActivity())) { 
        intent.setClassName("com.google.android.youtube", "com.google.android.youtube.WatchActivity"); 
       } 
       startActivity(intent); 

कहाँ उपयोगिता निम्नलिखित methode के साथ अपने स्वयं के व्यक्तिगत उपयोगिता वर्ग है: यदि इंस्टॉल हो रहा है, तो यूट्यूब स्थापित किया गया है की जाँच करें,

public static boolean isAppInstalled(String uri, Context context) { 
    PackageManager pm = context.getPackageManager(); 
    boolean installed = false; 
    try { 
     pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); 
     installed = true; 
    } catch (PackageManager.NameNotFoundException e) { 
     installed = false; 
    } 
    return installed; 
} 

पहले , मैं एंड्रॉइड को बताता हूं कि कौन सा पैकेज मैं अपना इरादा खोलना पसंद करता हूं।

  0

उपयोगिता क्या है? मैं इसे एक उपलब्ध आयात के रूप में नहीं देखता हूं। 03 apr. 122012-04-03 03:49:54

  0

@ इगोरजी। इसे इंगित करने के लिए धन्यवाद, अद्यतन उत्तर। EDIT के लिए 03 apr. 122012-04-03 07:42:57

  0

+1। एक स्पष्ट वर्ग नाम का उपयोग निश्चित रूप से अविश्वसनीय है। 21 jun. 122012-06-21 08:46:51


191

और कैसे इस बारे में:

public static void watchYoutubeVideo(Context context, String id){ 
    Intent appIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:" + id)); 
    Intent webIntent = new Intent(Intent.ACTION_VIEW, 
       Uri.parse("http://www.youtube.com/watch?v=" + id)); 
    try { 
     context.startActivity(appIntent); 
    } catch (ActivityNotFoundException ex) { 
     context.startActivity(webIntent); 
    } 
} 
+2

यह उच्चतम वोट दिया गया उत्तर होना चाहिए। 10 jun. 142014-06-10 18:03:27

+3

यदि उपलब्ध हो तो YouTube ऐप का समर्थन करने के लिए प्रॉप्स, और यदि आवश्यक हो तो वेब ब्राउज़र पर वापस आना। इस प्रश्न पर आने वाले लोगों के लिए, इसका उपयोग करने का उत्तर है। 30 may. 152015-05-30 22:04:05

  0

कीवर्ड उदाहरण के माध्यम से खोज के लिए यूट्यूब ऐप लॉन्च कैसे करें। मैं यूट्यूब ऐप लॉन्च करना चाहता हूं और फिर उस खोज में "स्टीव जॉब्स" 13 sep. 152015-09-13 09:20:42

  0

@ रुशेलजैन जो एक नया मुद्दा होगा। मैं क्या करूंगा "एंड्रॉइड यूट्यूब इरादा खोज टेक्स्ट" या ऐसा कुछ खोजना है। 01 oct. 152015-10-01 09:23:02

+1

आईएमएचओ यह स्वीकार्य उत्तर होना चाहिए। आपका बहुत बहुत धन्यवाद! 21 nov. 152015-11-21 14:31:07

  0

यह स्वीकार्य उत्तर क्यों नहीं है? 23 jul. 162016-07-23 23:26:58

  0

'इरादा ऐपेंटेंट = नया इरादा (Intent.ACTION_VIEW, Uri.parse ("vnd.youtube:" + id)); 'इस लाइन में' vnd.youtube 'को हटाने के लिए मेरे लिए काम किया, क्योंकि यह youtube.com के अतिरिक्त URL को' id' url में जोड़ रहा था। 13 oct. 162016-10-13 13:17:26

+1

यह उत्तर है लेकिन शायद आपको फ़ंक्शन घोषणा 20 may. 172017-05-20 12:51:42

  0

में स्थैतिक को हटा देना चाहिए, मुझे यही चाहिए! 25 sep. 172017-09-25 10:44:16


2

यूट्यूब अब एक खिलाड़ी एपीआई है, आपको लगता है कि कोशिश करनी चाहिए।

https://developers.google.com/youtube/android/player/


2
/** 
* Intent to open a YouTube Video 
* 
* @param pm 
*   The {@link PackageManager}. 
* @param url 
*   The URL or YouTube video ID. 
* @return the intent to open the YouTube app or Web Browser to play the video 
*/ 
public static Intent newYouTubeIntent(PackageManager pm, String url) { 
    Intent intent; 
    if (url.length() == 11) { 
     // youtube video id 
     intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube://" + url)); 
    } else { 
     // url to video 
     intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
    } 
    try { 
     if (pm.getPackageInfo("com.google.android.youtube", 0) != null) { 
      intent.setPackage("com.google.android.youtube"); 
     } 
    } catch (NameNotFoundException e) { 
    } 
    return intent; 
} 

2

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

public void playVideo(String key){ 

    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:" + key)); 

    // Check if the youtube app exists on the device 
    if (intent.resolveActivity(getPackageManager()) == null) { 
     // If the youtube app doesn't exist, then use the browser 
     intent = new Intent(Intent.ACTION_VIEW, 
       Uri.parse("http://www.youtube.com/watch?v=" + key)); 
    } 

    startActivity(intent); 
} 

0

यह यूट्यूब ऐप इंस्टॉल होने पर काम करेगा। यदि नहीं, तो किसी चयनकर्ता अन्य अनुप्रयोग को चुनने के लिए दिखाई देगा: मेरे लिए

Uri uri = Uri.parse("https://www.youtube.com/watch?v=bESGLojNYSo"); 
uri = Uri.parse("vnd.youtube:" + uri.getQueryParameter("v")); 
startActivity(new Intent(Intent.ACTION_VIEW, uri)); 

0

इस समारोह काम ठीक ... बस समारोह में यूआरएल स्ट्रिंग पारित:

void watch_video(String url) 
{ 
    Intent yt_play = new Intent(Intent.ACTION_VIEW, Uri.parse(url)) 
    Intent chooser = Intent.createChooser(yt_play , "Open With"); 

    if (yt_play .resolveActivity(getPackageManager()) != null) { 
        startActivity(chooser); 
       } 
} 

0

आपको YouTube Android खिलाड़ी का उपयोग कर सकते यदि यूट्यूब ऐप इंस्टॉल किया गया है तो वीडियो चलाने के लिए एपीआई, अन्यथा उपयोगकर्ता को उपलब्ध वेब ब्राउज़र से चुनने के लिए संकेत दें।

if(YouTubeIntents.canResolvePlayVideoIntent(mContext)){ 
        mContext.startActivity(YouTubeIntents.createPlayVideoIntent(mContext, mVideoId)); 
       } 
       else { 
        Intent webIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=" + mVideoId)); 
        mContext.startActivity(webIntent); 
       }