Android Mediaplayer 在播放带有视频视图的 youtube 视频时抛出错误

Posted

技术标签:

【中文标题】Android Mediaplayer 在播放带有视频视图的 youtube 视频时抛出错误【英文标题】:Android Mediaplayer throws an error while playing a youtube video with video view 【发布时间】:2011-02-02 21:59:18 【问题描述】:

这是用视频视图播放 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) 调试/视频视图(1765):错误:1,-2147483648

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

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

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

【问题讨论】:

【参考方案1】:

确切的错误代码是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 视频都可以在移动应用中播放。

希望有帮助!

【讨论】:

以上是关于Android Mediaplayer 在播放带有视频视图的 youtube 视频时抛出错误的主要内容,如果未能解决你的问题,请参考以下文章

在 mediaplayer 中播放的 Android webview 视频

带有 Cookie 的 Android MediaPlayer URL

在 Android 的 MediaPlayer 上播放音频时遇到问题

在 Android 中是不是可以录制 MediaPlayer 播放的内容?

在 Android 中使用 MediaPlayer 播放音频文件

Android Multimedia框架总结MediaPlayer框架及播放网络视频案例