gpt4 book ai didi

iphone - 从 ALAsset 获取视频

转载 作者:行者123 更新时间:2023-12-03 18:26:15 24 4
gpt4 key购买 nike

使用 iOS 4 中提供的新资源库框架,我发现我可以使用 UIImagePickerControllerReferenceURL 获取给定视频的 url。返回的url格式如下:

assets-library://asset/asset.M4V?id=1000000004&ext=M4V

我正在尝试将此视频上传到网站,以便作为概念的快速证明,我正在尝试以下操作

NSData *data = [NSData dataWithContentsOfURL:videourl];
[data writeToFile:tmpfile atomically:NO];

在这种情况下,数据永远不会被初始化。有人设法通过新的 Assets 库直接访问该网址吗?感谢您的帮助。

最佳答案

我在 ALAsset 上使用以下类别:

static const NSUInteger BufferSize = 1024*1024;

@implementation ALAsset (Export)

- (BOOL) exportDataToURL: (NSURL*) fileURL error: (NSError**) error
{
[[NSFileManager defaultManager] createFileAtPath:[fileURL path] contents:nil attributes:nil];
NSFileHandle *handle = [NSFileHandle fileHandleForWritingToURL:fileURL error:error];
if (!handle) {
return NO;
}

ALAssetRepresentation *rep = [self defaultRepresentation];
uint8_t *buffer = calloc(BufferSize, sizeof(*buffer));
NSUInteger offset = 0, bytesRead = 0;

do {
@try {
bytesRead = [rep getBytes:buffer fromOffset:offset length:BufferSize error:error];
[handle writeData:[NSData dataWithBytesNoCopy:buffer length:bytesRead freeWhenDone:NO]];
offset += bytesRead;
} @catch (NSException *exception) {
free(buffer);
return NO;
}
} while (bytesRead > 0);

free(buffer);
return YES;
}

@end

关于iphone - 从 ALAsset 获取视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4545982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com