我正试图在某些设备上播放Youtube上的Youtube视频,但他们会返回一个对话框:“视频无法播放”。
我已经阅读了Youtube 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();
我尝试过其他视频并正确播放。我做错了什么?
答案 0 :(得分:1)
如果嵌入视频不是您的明确要求,为什么不简单地使用Youtube视频网址启动意图并让操作系统为您处理意图?据我所知,这是在Android上播放视频的最简单方法。 例如,
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("Your youtube URL here"));
startActivity(intent);
有关Android Intents的详细信息,请参阅this link和vogella'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视频直接嵌入到您的活动中,但我希望被证明是错误的。