Tôi đang cố gắng tải tệp video vào ứng dụng iPad của mình dưới dạng AVURLAsset
, sử dụng công cụ tải không đồng bộ để đợi để sẵn sàng. Vấn đề là, khi tôi chạy nó, tôi nhận được một thông báo lỗi "thất bại" chung chung mà tôi không biết phải làm gì với nó. Video hoạt động nếu tôi giao cho một số MPMoviePlayerController
, nhưng AVURLAsset
dường như từ chối mọi thứ liên quan đến video đó.AVURLNhận từ chối tải video
Code:
asset = [[AVURLAsset alloc] initWithURL:[NSURL URLWithString:[docPath stringByAppendingPathComponent:@"video.mov"]] options:nil];
[asset loadValuesAsynchronouslyForKeys:[NSArray arrayWithObject:@"tracks"] completionHandler:^{
dispatch_async(dispatch_get_main_queue(), ^{
[self composeIfReady];
});
}];
...
- (void)composeIfReady
{
NSError *error = nil;
if([asset statusOfValueForKey:@"tracks" error:&error] == AVKeyValueStatusFailed)
NSLog(@"error loading: %@", [error description]);
if(error == nil)
NSLog(@"okay awesome");
}
Sản lượng:
error loading: Error Domain=AVFoundationErrorDomain Code=-11800 "The operation couldn’t be completed. (AVFoundationErrorDomain error -11800.)" UserInfo=0x1696f0 {NSUnderlyingError=0x169a40 "The operation couldn’t be completed. (OSStatus error -12936.)"}
-11800, bằng cách này, là mã lỗi cho "không rõ lỗi". Loại chết. Bất kỳ ý tưởng? Có điều gì tôi nên thiết lập trước khi tôi cố gắng tải nội dung không?
Tôi đang sử dụng tệpURLWithPath và vẫn gặp lỗi tương tự. – gngrwzrd
+1 Điều này phù hợp với tôi .. Cảm ơn rất nhiều .. –
Cảm ơn bạn rất nhiều! Bây giờ tôi nhận ra rằng sự khác biệt là quan trọng bởi vì nó cần một URL tuyệt đối cho tệp và do đó URL tương đối (/ var/mobile/...) do URLWithString cung cấp không hoạt động. –