为什么Videoview无法播放Youtube视频?

时间:2012-06-05 09:17:07

标签: android youtube-api android-videoview

我正试图在某些设备上播放Youtube上的Youtube视频,但他们会返回一个对话框:“视频无法播放”。

我已经阅读了You​​tube API文档。

我有一个VideoView,我将视频Uri设置为扩展名为.3pg的网址。

这是我的代码:

 VideoView videoView = (VideoView)this.findViewById(R.id.video); 
 MediaController mc = new MediaController(this); 
 videoView.setMediaController(mc);
 videoView.setVideoURI(Uri.parse("rtsp://v1.cache2.c.youtube.com/CigLENy73wIaHwmhXrOROaqgpBMYESARFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp")); 
 videoView.requestFocus(); 
 videoView.start();

我尝试过其他视频并正确播放。我做错了什么?

3 个答案:

答案 0 :(得分:1)

如果嵌入视频不是您的明确要求,为什么不简单地使用Youtube视频网址启动意图并让操作系统为您处理意图?据我所知,这是在Android上播放视频的最简单方法。 例如,

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("Your youtube URL here"));
startActivity(intent);

有关Android Intents的详细信息,请参阅this linkvogella's tutorial

答案 1 :(得分:0)

以下代码段将为您提供帮助。

基本上你需要setOnPreparedListener

 try {

                final VideoView videoView =(VideoView)findViewById(R.id.videoView1);
                // Set video link (mp4 format )
                Uri video = Uri.parse(video_url);
                videoView.setVideoURI(video);
                videoView.setOnPreparedListener(new OnPreparedListener() {
                    public void onPrepared(MediaPlayer mp) {
                       progressDialog.dismiss();
                       videoView.start();
                    }
                });

             }catch(Exception e){
                 progressDialog.dismiss();
                 System.out.println("Video Play Error :"+e.getMessage());
             }

答案 2 :(得分:0)

您需要使用YouTube网址启动意图并让操作系统处理它。也就是说,我不认为您可以将YouTube视频直接嵌入到您的活动中,但我希望被证明是错误的。