如何在Android中播放Vimeo视频我试过使用webview还有其他播放vimeo视频的方法吗?

问题描述

我尝试使用webview播放vimeo视频。但是它看起来不太好,它使屏幕可滚动。 Vimeo提出了另一种使用本机播放的播放方式,但是使用有特定要求

本机播放的基本要求是:

  1. 用户必须登录。
  2. 用户必须是视频的所有者。
  3. 用户必须是PRO或更高级别(或应用程序必须具有“可以访问所有者的视频文件”功能)。
  4. 令牌必须具有video_files范围。 用户必须是发出请求的API应用的所有者

我没有PRO帐户。我如何使用本机播放只是为了测试,如果一切顺利,那么我将选择vimeo PRO

这是我使用WEBVIEW进行播放的代码

 VimeoClient.getInstance().fetchNetworkContent(uri,new ModelCallback<Video>(Video.class) {
            @Override
            public void success(Video video) {
                String html = video.embed != null ? video.embed.html : null;
                if(html != null) {
                    WebView webView = (WebView) findViewById(R.id.webView);
                    WebSettings webSettings = webView.getSettings();
                    webSettings.setJavaScriptEnabled(true);
                    webView.loadData(html,"text/html","utf-8");
                }
            }

            @Override
            public void failure(VimeoError error) {

                Log.d(TAG,"failure: ");
            }
        });
    }

还有其他播放视频的方式吗?

解决方法

就我而言,我使用的是 Exoplayer 。 Exoplayer更可定制。您需要做的就是从配置链接中提取URL链接。您可以使用 retrofit 提取视频网址。

BASE_URL =“ https://player.vimeo.com/video/”

您将需要使用如下所示的get方法:

@GET("{id}/{config}")
Call<JsonObject>getVideoLink(@Path("id") String id,@Path("config") String config);

您将从视频链接获取ID。示例:“ https://vimeo.com/123456789/”,此处的ID为:123456789。

 JsonObject jsonObject = response.body();
            JsonObject req = jsonObject.getAsJsonObject("request");
            JsonObject file = req.getAsJsonObject("files");
            JsonArray arr = file.getAsJsonArray("progressive");
            String url = arr.get(0).getAsJsonObject().get("url").getAsString();
           

现在您可以使用此 url 进行播放。不要忘记先启动Exoplayer。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...