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

Pra*_*ham 1 youtube android 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();
Run Code Online (Sandbox Code Playgroud)

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

这是logcat消息

 ERROR/MediaPlayer(1765): error (1, -2147483648)
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

Dev*_*red 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");
Run Code Online (Sandbox Code Playgroud)

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

希望有所帮助!