【问题标题】:Vimeo API Video.getPlay always returns nullVimeo API Video.getPlay 总是返回 null
【发布时间】:2017-10-26 08:36:10
【问题描述】:

我用的是官方Vimeo Android Library

我是这样添加的:compile 'com.vimeo.networking:vimeo-networking:1.1.1'

我是这样使用它的:

// where mUri is in the following format: /videos/<videoId>
VimeoClient.getInstance().fetchNetworkContent(mUri, new ModelCallback<Video>(Video.class) {
            @Override
            public void success(Video video) {
                if (!video.getStatus().equals(Video.Status.AVAILABLE)) {
                    // still processing
                } else {
                    // code goes here because its status is already available
                    Log.e("main", "play: " + video.getPlay());
                    // this logs -- play: null
                }
            }
            @Override
            public void failure(VimeoError error) {
                Log.e("main", error.getErrorMessage());
            }
        });

video.getDownload() 工作并给了我一个 3 的数组。我使用与上传视频相同的访问令牌。我也有一个专业帐户。我在邮递员中尝试过,使用完全相同的访问令牌和视频 ID,它可以工作。结果包含一个文件部分 w/c 看起来像这样:

"files": [
        {
            "quality": "sd",
            "type": "video/mp4",
            "width": 480,
            "height": 640,
            "link": "<working string link here, I just replaced it for security>",
            "created_time": "2017-10-26T06:58:09+00:00",
            "fps": 23.980000000000000426325641456060111522674560546875,
            "size": 867030,
            "md5": "<md5 value here, I just replaced it for security>",
            "link_secure": "<working string link here, I just replaced it for security>"
        },
        {
            "quality": "sd",
            ...
        },
        {
            "quality": "hls",
            ...
        }
    ]

这些是 3 个带有工作链接的视频。所以我不知道为什么图书馆没有检索到它们:(

请帮忙,谢谢!

【问题讨论】:

  • 谁能帮忙?
  • 请帮忙 huhu T__T
  • 有人吗?请问?
  • 同样的问题,你找到解决办法了吗?
  • 实际上,我发现在 VideoView 中播放视频的唯一方法是从以下位置获取视频 URI:video.files.get(0).getLink())

标签: android vimeo vimeo-api vimeo-android


【解决方案1】:

正如github issue 指出的那样,您应该检查一下branch on github

video.getPlay() 仍未公开。您应该改用它。来自文档。

Video video = ...; // obtain a video you own as described above
ArrayList<VideoFile> videoFiles = video.files;
if(videoFiles != null && !videoFiles.isEmpty()) {
     VideoFile videoFile = videoFiles.get(0); // you could sort these files by size, fps, width/height
     String link = videoFile.getLink();
     // load link
}

如果您参加所有请求,您应该能够获得所有视频文件数组。该数组将包含 mp4sd、mp4hd 和 hls 链接。

hls链接是数组的最后一个,所以可以通过使用获取。

VideoFile videoFile = videoFiles.get(videoFiles.size() - 1);
String hlsLink = videoFile.getLink();

【讨论】:

    猜你喜欢
    • 2020-06-24
    • 2020-04-07
    • 2010-11-05
    • 1970-01-01
    • 2014-03-04
    • 2016-11-02
    • 2014-05-06
    • 2012-06-05
    • 2014-05-30
    相关资源
    最近更新 更多