ios - 无法播放下载内容的 URL 中的视频

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

我使用以下完成 block 成功地从 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 没有经验。

最佳答案

您提供的信息不足以找出原因。

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

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

NSURL *url = [NSURL fileURLWithPath:urlStr];

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

希望这对您有所帮助。

关于ios - 无法播放下载内容的 URL 中的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34687375/

相关文章:

javascript - 使用 Amazon Cognito Refresh Token 在 javascript 中获取新 token

email - 如何解决垃圾邮件中的/@网址?

c# - AWS sagemaker invokeEndpoint 模型内部错误

iphone - uitableview 中的多个倒数计时器

ios - iPhone Objective-c 检测屏幕锁定

json - 在 express 中获取带有查询字符串的请求

javascript - 使用 Javascript 将 URL 中的域名大写

amazon-web-services - CodePipeline 找不到我的 Yaml 模板

ios - UI 测试从 uitableviewcell 获取文本

ios - UICollectionViewCell 在 UICollectionViewReusableView 宽度之后启动