1

这是使用视频视图播放 url 的代码

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) 调试/VideoView(1765): 错误: 1,-2147483648

  1. 模拟器和目标操作系统是 2.2。
  2. 这是在模拟器上测试的。

此代码可以在设备上正常运行吗?你能解释错误背后的错误代码和原因吗?

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

4

1 回答 1

5

确切的错误代码是MEDIA_ERROR_UNKNOWN(未知错误......在这里非常有帮助)。

它失败的原因是您使用的链接直接指向 Flash 视频。VideoView 不支持 Flash,正如 Dianne 在这篇文章中如此简洁地提出的那样......

展示视频的最佳方式可能是将其打包到 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 视频都可以在移动应用程序中播放。

希望有帮助!

于 2011-02-04T16:09:29.773 回答