3
我使用videoview顯示以下YouTube視頻從android的YouTube視頻抓取框架?
http://www.youtube.com/watch?v=FovFG3N_RSU
我不希望看到黑屏,但要顯示的視頻作爲視頻的封面midframe。
在IOS,有
如何在android中完成?
我使用videoview顯示以下YouTube視頻從android的YouTube視頻抓取框架?
http://www.youtube.com/watch?v=FovFG3N_RSU
我不希望看到黑屏,但要顯示的視頻作爲視頻的封面midframe。
在IOS,有
如何在android中完成?
這取決於設備的Android版本和閃光燈支持功能。 除非在設備上安裝了閃存,否則無法使用VideoView setVideoUri方法播放視頻(將http鏈接解析爲uri後)。
以下代碼適用於我,但這對您來說是一種破解。
將此代碼用於未安裝Flash的設備。
public Uri getYoutubeUriForVideoId()
{
String YOUTUBE_VIDEO_INFORMATION_URL = "http://m.youtube.com/watch?ajax=1&layout=mobile&tsp=1&utcoffset=330&v=";
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";
HttpClient lClient = new DefaultHttpClient();
HttpGet lGetMethod = new HttpGet(YOUTUBE_VIDEO_INFORMATION_URL + videoId);
// setting the header as to get the high quality video url
lGetMethod.setHeader("User-Agent",UrlConstants.USER_AGENT);
HttpResponse lResp = lClient.execute(lGetMethod);
if(lResp == null)
return null;
String lInfoStr = EntityUtils.toString(lResp.getEntity(), "UTF-8");
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");
String url = fmt_stream_map.getJSONObject(0).getString("url");
return Uri.parse(url);
}
我不僅需要播放視頻,還需要提取其中間幀或任何其他幀。我的意思是構成視頻流的任何組成圖像;我需要一種方法來捕捉在播放視頻時特定時間顯示的圖像。 – luvieere
k ..試過這個.. [MediaMetadataRetriever.getFrameAtTime()](http://developer.android.com/reference/android/media/MediaMetadataRetriever.html#getFrameAtTime%28long,%20int%29) – Sush