ios - AVURLAsset 未加载(.mov 文件)

标签 ios avasset

我试图加载一个名为 output.mov(在 iPhone 上创建)的文件作为 AVURLAsset使用以下代码:

NSURL *outputURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@%@", NSTemporaryDirectory(), @"output.mov"]];

AVURLAsset *videoAsset = [AVURLAsset URLAssetWithURL:outputURL options:nil];

该文件位于 tmp应用程序的目录。没有出现错误,但似乎 Assets 没有加载,因为没有可用的元数据(即调用 NSLog(@"%@", [videoAsset commonMetadata]) 不返回任何内容),所以我无法对 Assets 做任何事情。

我使用了以下代码来确保可以通过 URL 访问资源,而且它肯定是:
if ([outputURL checkResourceIsReachableAndReturnError:&err] == NO)
        NSLog(@"Not reachable!");

所以我不确定为什么 Assets 没有加载。我还尝试使用 [AVAsset assetWithURL:] 加载 Assets 但这也不起作用。

任何帮助将不胜感激。

最佳答案

这可能是因为您的文件的编码。例如,如果该文件是用 Sorenson 3 (SVQ3) 编码的在将媒体文件传递给 AVURLAsset 之前,您需要对其进行现代化的编解码器.您可以使用 QTMovieModernizer 来做到这一点。类(class)。

关于ios - AVURLAsset 未加载(.mov 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15447579/

相关文章:

ios - 将 iOS 10.3.3 与 Xcode 版本 8.2.1 一起使用?

ios - 如何使用 MagicalRecord 加载预先存在的 sqlite 文件?

ios - 在视频上添加叠加

ios - 如何在iOS应用程序中本地创建 "web forms"?

ios - 在tableView的Section Header中为imageView添加手势

ios - 如何访问 MKAnnotation 的特定索引

AVFoundation - 只合并第一个显示的视频

ios - AVURLAsset trackWithMediaType 在模拟器中不返回 AVMediaTypeAudio 的 audioTracks

ios - avplayeritem 始终处于未知状态

ios - GPUImage initWithAsset 只显示最后一帧