1

因此,我正在通过 YouTube API 访问视频链接:

JSONObject(videoString).getJSONObject("entry")
                .getJSONObject("media$group").getJSONArray("media$content")
                .getJSONObject(0).getString("url");

这给了我一个视频链接,例如:

rtsp://v7.cache5.c.youtube.com/CiILENy73wIaGQlXg0iXvlQ9SBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp

然后我尝试播放视频:

        mVideoView.setVideoURI(result);
        final MediaController mediaController = new MediaController(mActivity);
        mVideoView.setMediaController(mediaController);
        mVideoView.requestFocus();
        mVideoView.start();

这在我运行 ICS 的平板电脑上运行良好,但在 GoogleTV 上似乎不起作用,在这种情况下我需要专门为 GTV 做些什么吗?

日志输出:

04-30 14:03:41.212: D/MediaPlayer(1132): Couldn't open file on client side, trying server side
04-30 14:03:41.308: D/dalvikvm(1132): GC_CONCURRENT freed 862K, 13% free 8303K/9479K, paused 0ms+2ms
04-30 14:03:51.920: E/MediaPlayer(1132): error (1, -2147483648)
04-30 14:03:51.920: E/MediaPlayer(1132): Error (1,-2147483648)
04-30 14:03:51.920: D/VideoView(1132): Error: 1,-2147483648
4

1 回答 1

2

我验证了 VideoView 播放 YouTube RTSP 视频可以在 Google TV 上运行:

    String vURL = "rtsp://v5.cache1.c.youtube.com/CjYLENy73wIaLQnhycnrJQ8qmRMYESARFEIJbXYtZ29vZ2xlSARSBXdhdGNoYPj_hYjnq6uUTQw=/0/0/0/video.3gp";

    mVideoView = (VideoView)this.findViewById(R.id.myvideoview);
    mVideoView.setVideoURI(Uri.parse(vURL));
    final MediaController mediaController = new MediaController(this);
    mVideoView.setMediaController(mediaController);
    mVideoView.requestFocus();
    mVideoView.start();

我唯一改变的是解析不同的 URL。然后在您的代码中尝试此工作 URL。

于 2012-04-30T23:04:17.027 回答