2012-06-05 88 views
2

我试图在某些设备上播放Youtube上的Youtube视频,但它们会返回对话框:“视频无法播放”。为什么Videoview无法播放Youtube视频?

我已阅读Youtube API文档。

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

这是我的代码:

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(); 

我试过其他视频和正常播放。我究竟做错了什么?

+0

的一些视频从播放移动设备上的禁止,你试图发挥它在您的手机上? –

回答

1

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

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

有关Android的意图的更多信息,请参阅this linkvogella's tutorial

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()); 
      } 
+0

抱歉,这不适合我。我只是想把你的视频播放到视频视图中,但是我不能用这种方式播放。你可以帮我吗 ? –

0

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