Comment lire une vidéo YouTube dans mon application Android?

Comment lire les vidéos YouTube dans mon application? Je veux play video en la diffusant directement depuis YouTube sans téléchargement. De plus, lors de la lecture de vidéos, je souhaite fournir des options de menu. Je ne veux pas lire de vidéo en utilisant l’intention par défaut. Comment puis-je faire ceci?

Ceci est l’événement click btn

 btnvideo.setOnClickListener(new OnClickListener() { public void onClick(View v) { startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.youtube.com/watch?v=Hxy8BZGQ5Jo"))); Log.i("Video", "Video Playing...."); } }); 

ce type il a ouvert dans une autre page avec le youtube où vous pouvez montrer votre vidéo

Découvrez l’ API YouTube Player officielle.

Pas

  1. Créez une nouvelle activité pour votre écran de joueur (plein écran) avec les options du menu. Exécutez le mediaplayer et l’interface utilisateur dans des threads différents.

  2. Pour lire des médias – En général, pour lire des fichiers audio / vidéo, il y a api mediaplayer dans Android. FILE_PATH est le chemin du fichier – peut être un stream URL (youtube) ou un chemin de fichier local

      MediaPlayer mp = new MediaPlayer(); mp.setDataSource(FILE_PATH); mp.prepare(); mp.start(); 

Vérifiez également que l’ application YouTube YouTube Play Video Intent en a déjà discuté en détail.

Utilisez l’API Android Player de YouTube.

activity_main.xml:

       

MainActivity.java:

 package com.example.andreaskonstantakos.vfy; import android.os.Bundle; import android.view.View; import android.widget.Button; import com.google.android.youtube.player.YouTubeBaseActivity; import com.google.android.youtube.player.YouTubeInitializationResult; import com.google.android.youtube.player.YouTubePlayer; import com.google.android.youtube.player.YouTubePlayerView; public class MainActivity extends YouTubeBaseActivity { YouTubePlayerView youTubePlayerView; Button button; YouTubePlayer.OnInitializedListener onInitializedListener; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); youTubePlayerView = (YouTubePlayerView) findViewById(R.id.youtube_player); button = (Button) findViewById(R.id.button); onInitializedListener = new YouTubePlayer.OnInitializedListener(){ @Override public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) { youTubePlayer.loadVideo("Hce74cEAAaE"); youTubePlayer.play(); } @Override public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) { } }; button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { youTubePlayerView.initialize(PlayerConfig.API_KEY,onInitializedListener); } }); } } 

et la classe PlayerConfig.java:

  package com.example.andreaskonstantakos.vfy; /** * Created by Andreas Konstantakos on 13/4/2017. */ public class PlayerConfig { PlayerConfig(){} public static final Ssortingng API_KEY = "xxxxx"; } 

Remplacez le “Hce74cEAAaE” par votre ID vidéo sur https://www.youtube.com/watch?v=Hce74cEAAaE . Obtenez votre API_KEY à partir de Console.developers.google.com et remplacez-le également dans PlayerConfig.API_KEY. Pour plus d’informations, vous pouvez suivre le didacticiel suivant étape par étape: https://www.youtube.com/watch?v=3LiubyYpEUk

Vous pouvez consulter l’application Android-Youtube-Player qui peut être trouvée ici .
Dans cet exemple d’application, les vidéos sur youtube sont lues dans une vidéo plutôt qu’une webview.

J’espère que ce lien vous aidera http://android-coding.blogspot.in/2011/03/simple-example-using-videoview-to-play.html

Pour convertir une vidéo youtube en rtsp, utilisez ce code github – youtube-url2rtsp

Cette réponse pourrait être très tardive mais utile.

Vous pouvez lire des vidéos YouTube dans l’application elle – même en utilisant un lecteur Android-YouTube .

Quelques extraits de code:

Pour lire une vidéo sur youtube qui a un identifiant vidéo dans l’URL, vous appelez simplement l’intention OpenYouTubePlayerActivity

 Intent intent = new Intent(null, Uri.parse("ytv://"+v), this, OpenYouTubePlayerActivity.class); startActivity(intent); 

où v est l’identifiant de la vidéo.

Ajoutez les permissions suivantes dans le fichier manifeste:

    

et également déclarer cette activité dans le fichier manifeste:

  

De plus amples informations peuvent être obtenues à partir des premières parties de ce fichier de code.

J’espère que ça aide n’importe qui!

Google dispose d’une API YouTube Player Android qui vous permet d’intégrer la fonctionnalité de lecture vidéo dans vos applications Android. L’API elle-même est très facile à utiliser et fonctionne bien. Par exemple, voici comment créer une nouvelle activité pour lire une vidéo à l’aide de l’API.

 Intent intent = YouTubeStandalonePlayer.createVideoIntent(this, "<>", "<>", 0, true, false); startActivity(intent); 

Voir ceci pour plus de détails.

Vous pouvez utiliser iframe comme décrit dans https://developers.google.com/youtube/iframe_api_reference

Je ne suis pas le conseil de Google exactement, mais c’est le code que j’utilise et il fonctionne très bien

 public class CWebVideoView { private Ssortingng url; private Context context; private WebView webview; private static final Ssortingng HTML_TEMPLATE = "webvideo.html"; public CWebVideoView(Context context, WebView webview) { this.webview = webview; this.context = context; webview.setBackgroundColor(0); webview.getSettings().setJavaScriptEnabled(true); } public void load(Ssortingng url){ this.url = url; Ssortingng data = readFromfile(HTML_TEMPLATE, context); data = data.replace("%1", url); webview.loadData(data, "text/html", "UTF-8"); } public Ssortingng readFromfile(Ssortingng fileName, Context context) { SsortingngBuilder returnSsortingng = new SsortingngBuilder(); InputStream fIn = null; InputStreamReader isr = null; BufferedReader input = null; try { fIn = context.getResources().getAssets().open(fileName, Context.MODE_WORLD_READABLE); isr = new InputStreamReader(fIn); input = new BufferedReader(isr); Ssortingng line = ""; while ((line = input.readLine()) != null) { returnSsortingng.append(line); } } catch (Exception e) { e.getMessage(); } finally { try { if (isr != null) isr.close(); if (fIn != null) fIn.close(); if (input != null) input.close(); } catch (Exception e2) { e2.getMessage(); } } return returnSsortingng.toSsortingng(); } public void reload() { if (url!=null){ load(url); } } } 

dans / assets j’ai un fichier appelé webvideo.html

           

et maintenant je définir un webview à l’intérieur de ma mise en page principale

  

et j’utilise CWebVideoView dans mon activité

 videoView = (WebView) view.findViewById(R.id.video); videoView.setVisibility(View.VISIBLE); cWebVideoView = new CWebVideoView(context, videoView); cWebVideoView.load(url); 

vous pouvez utiliser ce projet pour lire n’importe quelle vidéo tube, dans votre application Android. Maintenant, pour d’autres vidéos, ou identifiant vidéo … vous pouvez le faire https://gdata.youtube.com/feeds/api/users/eminemvevo/uploads/eminemvevo = channel .

après avoir trouvé, identifiant vidéo, vous pouvez mettre cet identifiant dans cueVideo("video_id")

 src -> com -> examples -> youtubeapidemo -> PlayerViewDemoActivity @Override public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player , boolean wasRestored) { if (!wasRestored) { player.cueVideo("wKJ9KzGQq0w"); } } 

Et spécialement pour lire cet identifiant video_id mieux, ouvrez -le avec le fichier xml [ 1st_file ] sur votre bureau après avoir créé un nouveau fichier Xml dans votre project ou téléchargez ce 1st_file [ 1st_file ] dans votre projet et cliquez avec le bouton droit sur et l’ouvrir avec le fichier xml_editor, vous trouverez ici l’id de la vidéo particulière.

entrer la description de l'image ici

 MediaPlayer mp=new MediaPlayer(); mp.setDataSource(path); mp.setScreenOnWhilePlaying(true); mp.setDisplay(holder); mp.prepare(); mp.start(); 

Je ne voulais pas que l’application YouTube soit présente sur l’appareil, j’ai donc utilisé ce tutoriel:

http://www.viralandroid.com/2015/09/how-to-embed-youtube-video-in-android-webview.html

… pour produire ce code dans mon application:

 WebView mWebView; @Override public void onCreate(Bundle savedInstanceState) { setContentView(R.layout.video_webview); mWebView=(WebView)findViewById(R.id.videoview); //build your own src link with your video ID Ssortingng videoStr = "Promo video
"; mWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, Ssortingng url) { return false; } }); WebSettings ws = mWebView.getSettings(); ws.setJavaScriptEnabled(true); mWebView.loadData(videoStr, "text/html", "utf-8"); } //video_webview

Cela a fonctionné juste comme je le voulais. Il ne lit pas automatiquement mais la vidéo est diffusée dans mon application. Il convient de noter que certaines vidéos restreintes ne seront pas lues lorsqu’elles sont intégrées.

 Ssortingng video = "https://www.youtube.com/watch?v=SrPHLj_q_OQ"; Intent openVideo = new Intent(Intent.ACTION_VIEW); openVideo.setDataAndType(Uri.parse(video), "video/*"); startActivity(openVideo); 
 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watchv=cxLG2wtE7TM")); startActivity(intent);