在使用视频观看YouTube播放视频时,Android Mediaplayer会出错

时间:2011-02-02 21:59:18

标签: android youtube android-videoview

以下是使用视频播放网址的代码

String urlVideo = "http://www.youtube.com/cp/vjVQa1PpcFPLrLo9hkR90zKx_XHP5kMNaNb-_bE3v0s=";
    VideoView video = (VideoView) findViewById(R.id.videoView1);
    Log.d("You", urlVideo);
    video.setVideoURI(Uri.parse(urlVideo));
    MediaController mc = new MediaController(this);
    video.setMediaController(mc);
    video.requestFocus();
    video.start();
    mc.show();

它抛出错误,无法启动视频

这是logcat消息

 ERROR/MediaPlayer(1765): error (1, -2147483648)

错误/ MediaPlayer(1765):错误(1,-2147483648) DEBUG / VideoView(1765):错误:1,-2147483648

  1. 模拟器和目标操作系统是2.2。
  2. 这是在模拟器上测试的。
  3. 此代码可以在设备上正常运行吗? 你能解释错误代码和错误背后的原因吗?

    修改:非常感谢您的建议。实际上我的应用程序需要在自己的设计中播放视频,并根据你的建议和我在网上看到的其他一些帖子可以得出结论,它不能以我想要的方式播放,我必须在网络上打开它视图。感谢...

1 个答案:

答案 0 :(得分:5)

确切的错误代码是MEDIA_ERROR_UNKNOWN(未知错误......非常有用)。

失败的原因是您使用的链接直接转到Flash视频。 VideoView不支持Flash,因为Dianne如此简洁地加入了这个post ......

展示该视频的最佳方式可能是将其打包在Intent中,让浏览器或YouTube应用播放它。如果用户拥有其他一些支持Flash的应用,例如Skyfire,它也会显示在选项中。但是,这通常仅适用于视频的观看链接,因此在您的情况下为http://www.youtube.com/watch?v=fX_wt7cPCU4

String videoUrl = "http://www.youtube.com/watch?v=fX_wt7cPCU4";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(videoUrl));
startActivity(Intent.createChooser(intent, "Play Video Using");

在安装了YouTube应用的设备上,这将作为一个选项出现,但并非所有YouTube视频都可以出于某种原因在移动应用中播放。

希望有所帮助!