1

我想在 VideoView 中播放 vimeo 视频,但这里有问题。

桌面下载视频步骤如下(基于ossguy.com脚本):

我想在 android 中重复相同的步骤,因为从上一步获得的 URL 可以用 VideoView 播放。但问题是当从第 3 步发送相同的请求时,响应不包含“Location”标头。有任何想法吗?

4

2 回答 2

1

如果有人需要回答,我发布了我的解决方案。下面是我的函数 httpRequest(),我在每个步骤中都使用了它来获取页面和响应标头。我假设我在使用 DefaultHTTPClient 时遇到了重定向问题,因为“Location”标头将在第 3 步中给出,它实际上应该被重定向。

public URLConnection httpRequest(String path) {
    HttpURLConnection conn = null;
    try {
        URL url = new URL(path);
        conn= (HttpURLConnection) url.openConnection();
        conn.setInstanceFollowRedirects(false);  //you still need to handle redirect manully.
        HttpURLConnection.setFollowRedirects(false);
        conn.setReadTimeout(5000);
        conn.addRequestProperty("Accept-Language", "en-US,en;q=0.8");
        conn.addRequestProperty("User-Agent", "Mozilla/5.0");
        conn.addRequestProperty("Referer", "google.com");
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return conn;
}
于 2013-09-10T10:44:54.150 回答
-2

在安卓中

首先io.vov.vitamio.widget在你的项目中添加包。

  1. 然后在您的xml布局文件中定义一个视频视图...

  2. 然后在您的 java 文件中使用此代码。确保您正在导入 vimeo 包中可用的包

    videoView.setVideoURI(Uri.parse(path));

    videoView.setMediaController(new MediaController(this));

    videoView.requestFocus();

    videoView.start();

于 2013-09-09T06:55:47.200 回答