无法播放下载内容的网址中的视频

时间:2016-01-08 22:46:48

标签: ios url amazon-web-services amazon-s3 media-player

我使用以下完成块成功从AWS下载我的视频:

if (task.result) {
                                                               AWSS3TransferManagerDownloadOutput *downloadOutput = task.result;
                                                               //File downloaded successfully.
                                                               NSLog(@"download succesful!");
                                                               NSLog(@"download outptut = %@", downloadOutput);
                                                               NSString *body = [downloadOutput valueForKey:@"body"];
                                                               NSLog(@"body = %@", body);

                                                               //play video
                                                               NSString *urlStr =[NSString stringWithFormat:@"%@", body];

                                                               NSURL *url=[[NSURL alloc] initWithString:urlStr];

                                                               MPMoviePlayerController *moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:url];

                                                               moviePlayer.controlStyle=MPMovieControlStyleDefault;
                                                               moviePlayer.shouldAutoplay=YES;
                                                               [self.view addSubview:moviePlayer.view];
                                                               [moviePlayer setFullscreen:YES animated:YES];

                                                           }

以下是我记录的内容:

2016-01-08 17:40:28.763 Scene[4045:1637254] download succesful!
2016-01-08 17:40:28.766 Scene[4045:1637254] download outptut = <AWSS3TransferManagerDownloadOutput: 0x159f3fd70> {
    ETag = "\"b2e89e481befcecbdadbba782eaf192d\"";
    acceptRanges = bytes;
    body = "file:///private/var/mobile/Containers/Data/Application/A0806A72-C980-4419-A7B8-4DD8253070E5/tmp/downloads";
    contentLength = 3797949;
    contentType = "video/quicktime";
    lastModified = "2016-01-07 20:26:05 +0000";
    replicationStatus = 0;
    requestCharged = 0;
    serverSideEncryption = 0;
    storageClass = 0;
}
2016-01-08 17:40:28.767 Scene[4045:1637254] body = file:///private/var/mobile/Containers/Data/Application/A0806A72-C980-4419-A7B8-4DD8253070E5/tmp/downloads

因此下载成功,该对象是视频。然而,当我尝试播放视频时,视频播放器只是弹出没有任何内容以及不被允许。

这是为什么?我经常和Parse一起工作,所以我对AWS缺乏经验。

1 个答案:

答案 0 :(得分:1)

您的信息不足以解决问题。

首先,您是否将downloadsFileURL设置为本地下载路径?这是应该传递给视频播放器的完全相同的路径。

其次,未正确加载本地文件的URL。这是为本地文件创建NSURL的方法:

NSURL *url = [NSURL fileURLWithPath:urlStr];

第三,我不确定那种路径格式。 “file:///”是一种在某些情况下无法获取文件的格式。我不确定这一点,但如果前两个建议不起作用,你可以尝试在路径中设置“file://”。

希望这有帮助。