我在Objective C中制作了一个iOS应用,它必须使用vimeo网址加载视频。我想使用视频播放器,我使用了这个:https://github.com/vimeo/VIMVideoPlayer。 我按照阅读说明进行操作,但是我无法阅读vimeo视频,我收到了错误消息:
视频播放器状态失败:错误=错误 Domain = AVFoundationErrorDomain Code = -11828"无法打开" UserInfo = 0x7f9c5d17b8c0 {NSUnderlyingError = 0x7f9c5d176910" The 操作无法完成。 (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];
}
感谢您的帮助。
答案 0 :(得分:5)
这不是视频文件的网址(https://player.vimeo.com/video/51806929
),而是网页的网址。
传递给视频播放器的网址应该是实际视频文件资源的网址。
您可以通过将mp4文件放到服务器上并将该URL传递给播放器来测试VIMVideoPlayer。
如果您在为Vimeo API的特定视频或视频列表请求JSON时是Vimeo PRO帐户用户,则会看到与每个视频相关联的VideoFile
个对象的列表video
对象。这些代表该特定视频的各种分辨率视频文件。每个都有一个URL。您可以将此URL传递给播放器。
如果您有任何疑问,请告诉我们!