【问题标题】:Play youtube videos in VideoView Android在 VideoView Android 中播放 youtube 视频
【发布时间】:2015-07-15 02:40:22
【问题描述】:

我搜索了很多内容以获取 Youtube 视频的流 url,但它们都不起作用。 Youtube 是否取消了对 android videoview 中流式视频的支持?

代码示例:

public String getYoutubeUriForVideoId(String videoId) {
        String url = "";
        try {
            Log.e(TAG, "Input video id: "+videoId);
                String YOUTUBE_VIDEO_INFORMATION_URL = 
                        "http://m.youtube.com/watch?ajax=1&layout=mobile&tsp=1&utcoffset=330&v="+videoId; 

                String USER_AGENT ="Mozilla/5.0 (Linux; U; Android 2.2.1; en-gb; GT-I9003 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1";
                Log.e(TAG, "Url: "+YOUTUBE_VIDEO_INFORMATION_URL);
                HttpClient lClient = new DefaultHttpClient();
                HttpGet lGetMethod = new HttpGet(YOUTUBE_VIDEO_INFORMATION_URL);
                // setting the header as to get the high quality video url 
                lGetMethod.setHeader("User-Agent", USER_AGENT);
                HttpResponse lResp = lClient.execute(lGetMethod);

                if(lResp == null)
                    return null;
                String lInfoStr = EntityUtils.toString(lResp.getEntity(), "UTF-8");
                Log.e(TAG, "Response: "+lInfoStr);
                JSONObject videoInfoJson = new JSONObject(lInfoStr.substring(4,lInfoStr.length()));
                JSONObject content = (JSONObject) videoInfoJson.get("content");
                JSONObject video = (JSONObject) content.get("video");
                JSONArray fmt_stream_map = video.getJSONArray("fmt_stream_map"); 
                url = fmt_stream_map.getJSONObject(0).getString("url");
        } catch(Exception e) {
            Log.e(TAG, e);
        }
        Log.e(TAG, "Youtube stream url: "+url);
            return url;
    }

【问题讨论】:

  • 你为此做了什么?可以发一段代码吗?
  • 你能从你这边开始开发吗??请先google,然后来解决。
  • 我已经更新了我的问题并添加了示例代码,请检查

标签: android video-streaming youtube-data-api android-videoview


【解决方案1】:

您应该使用YouTubeAndroidApi 来播放 Android 版 YouTube 视频,这是最简单的方法。

这里是link的例子

【讨论】:

  • 感谢您的解决方案,但 youtube plyer 不允许通过编码从视频中截取屏幕截图,这就是我需要切换到 videoview 的原因
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-11
  • 1970-01-01
  • 2013-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多