11

我试图通过我的 android 程序通过其 URL 播放 youtube 视频。我用过 setVideoURI(uri); 功能还可以设置 URI,正如 stackoverflow 中的其他 POST 所建议的那样。但我得到无法在客户端打开文件,尝试服务器端错误。你能弄清楚我的代码有什么问题吗?

但我可以通过注释代码播放任何本地视频。

这是我的android代码-

public class VideoActivity extends Activity {

    //MediaPlayer song= new MediaPlayer();

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_video);

        VideoView videoView = (VideoView)this.findViewById(R.id.VVSimpleVideo);
        MediaController mc = new MediaController(this);
        mc.setAnchorView(videoView);
        mc.setMediaPlayer(videoView);
        videoView.setMediaController(mc);
        //String _path = "mnt/sdcard/Movies/MyCameraApp/video6.mp4";
        String _path = "http://www.youtube.com/watch?v=E43mgXNl0xc";
        Uri uri=Uri.parse(_path);
        videoView.setVideoURI(uri);
       //videoView.setVideoPath(_path);

        videoView.requestFocus();
        videoView.start();

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_video, menu);
        return true;
    }
}

这是日志错误-

  10-11 04:51:23.480: D/MediaPlayer(4714): Couldn't open file on client side, trying server side
10-11 04:51:26.130: E/MediaPlayer(4714): error (1, -2147483648)
10-11 04:51:26.130: E/MediaPlayer(4714): Error (1,-2147483648)
10-11 04:51:26.130: D/VideoView(4714): Error: 1,-2147483648
10-11 04:51:26.190: D/dalvikvm(4714): GC_CONCURRENT freed 174K, 4% free 6785K/7047K, paused 4ms+3ms

提前致谢。

4

3 回答 3

3

一旦你得到 You tube url...,从 Url 中对 Video_ID 进行子串化。请参阅下面我给出的示例。

获得 rtsp 链接后,您可以在 VideoView 中播放视频这是示例

例如:如果此链接是视频http://www.youtube.com/watch?v=E43mgXNl0xc

然后E43mgXNl0xc 是 Video_ID。

使用此视频 ID 在 vi​​deoview 中播放视频。

参考这两个链接:

链接 1

链接 2

获得 rtsp 链接后,您可以在 VideoView 中播放它。

还要在这里查看我的答案。

于 2012-10-11T05:03:24.233 回答
0

在 Android 设备上,您可以使用IntentYoutube 视频:

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=E43mgXNl0xc"));
startActivity(browserIntent);                          
于 2012-10-11T05:02:04.540 回答
0

我有同样的问题没有一个答案对我有用,问题是视频格式不正确这个视频对我有用

String vidAddress = "http://www.html5videoplayer.net/videos/toystory.mp4";
于 2016-01-04T11:12:07.197 回答