我正在尝试在某些设备上播放来自Youtube的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();
我尝试了其他视频并正确播放。我做错了什么?
如果嵌入视频不是您的明确要求,为什么不简单地从 Youtube 视频 URL 开始一个意图,让操作系统为您处理意图?据我所知,这是在安卓上播放视频的最简单方法。例如
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("Your youtube URL here"));
startActivity(intent);
有关 Android Intents 的更多信息,请参阅此链接和 vogella 的教程
以下片段将使您感到震惊。
基本上你需要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());
}
使用YouTube网址启动一个Intent,然后让操作系统处理它。也就是说,我不认为您可以将YouTube视频直接嵌入到您的活动中,尽管我很想被证明是错误的。