【问题标题】:iOS VIMVideoPlayerView can't load vimeo videosiOS VIMVideoPlayerView 无法加载 vimeo 视频
【发布时间】:2015-11-04 18:35:32
【问题描述】:

我正在 Objective C 中制作一个 iOS 应用程序,它必须加载带有 vimeo url 的视频。我想使用视频播放器,我使用了这个:https://github.com/vimeo/VIMVideoPlayer。 我按照自述说明进行操作,但我无法阅读 vimeo 视频,出现错误:

视频播放器状态失败:错误 = 错误 域=AVFoundationErrorDomain 代码=-11828 "无法打开" 用户信息=0x7f9c5d17b8c0 {NSUnderlyingError=0x7f9c5d176910“的 操作无法完成。 (OSStatus 错误 -12847.)", NSLocalizedFailureReason=不支持此媒体格式。, NSLocalizedDescription=无法打开}

这是我的代码:

-(void)viewDidLoad
{
    [super viewDidLoad];

    self.videoPlayerView = [[VIMVideoPlayerView alloc] init];
    self.videoPlayerView.translatesAutoresizingMaskIntoConstraints = NO;
    self.videoPlayerView.delegate = self;
    [self.videoPlayerView setVideoFillMode:AVLayerVideoGravityResizeAspect];
    [self.videoPlayerView.player enableTimeUpdates];
    [self.videoPlayerView.player enableAirplay];
    [self.view addSubview:self.videoPlayerView];
    NSDictionary *views = NSDictionaryOfVariableBindings(_videoPlayerView);
    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[_videoPlayerView]-0-|" options:0   metrics:nil views:views]];
    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[_videoPlayerView]-0-|" options:0   metrics:nil views:views]];

    //this is the kind of url I want to load
    NSURL *URL = [NSURL URLWithString:@"https://player.vimeo.com/video/51806929"];
    [self.videoPlayerView.player setURL:URL];
    [self.videoPlayerView.player play];
}

感谢您的帮助。

【问题讨论】:

    标签: ios vimeo


    【解决方案1】:

    这不是视频文件的 URL (https://player.vimeo.com/video/51806929),而是网页的 URL。

    传递给视频播放器的 URL 应该是实际视频文件资源的 URL。

    您可以通过将 mp4 文件放到服务器上并将该 URL 传递给播放器来测试 VIMVideoPlayer。

    如果您是 Vimeo PRO 帐户用户,当您从 Vimeo API 请求特定视频或视频列表的 JSON 时,您将看到与每个 video 对象关联的 VideoFile 对象列表。这些代表此特定视频的各种分辨率视频文件。每个都有一个 URL。您可以将此 URL 传递给播放器。

    如果您有任何问题,请告诉我们!

    【讨论】:

    • 所以为了在 iOS 应用程序中播放视频,开发人员必须购买 Vimeo PRO 帐户?或者开发人员可以在developer.vimeo.com/api 注册他的应用程序,然后他就可以获取带有文件 URL 的 JSON?
    • 没错,只有 PRO 订阅者才能在视频对象的 JSON 响应中看到播放 URL。
    • @AlfieHanssen 所以你是说不可能播放 vimeo 视频,除非视频所有者 a) 有一个专业帐户 b) 提取 mp4 的 url 并分享它
    • @RunLoop,有点像。为了在来自 Vimeo API 的视频对象的 JSON 响应中查看渐进式和 HLS 播放 URL,开发人员必须拥有 Vimeo Pro 帐户。您可以采取另一种方法并通过网络视图播放视频。
    • Vimeo 支持 Youtube 提供的所有形式的移动播放(如下所列:developers.google.com/youtube/articles/…)。您可以使用以下帮助程序库通过 Vimeo 应用程序播放 Vimeo 视频:github.com/vimeo/VIMDeeplink。此外,PRO 用户可以直接访问他们的可播放视频文件,这是 Youtube 不提供的选项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    相关资源
    最近更新 更多