cocoa - 尝试通过资源库使用 NSMutableData 获取字节并附加视频时会出现内存已满错误

标签 cocoa assets

我正在尝试通过资源库上传一个大小为 100MB 的视频。但是当我尝试使用 -(NSUInteger)getBytes:(uint8_t *)buffer fromOffset:(long long)offset length:(NSUInteger)length error:(NSError **)error of ALAssetRepresentation 我收到内存已满错误。我还需要将缓冲区中的数据放入 NSData 中。我怎样才能实现这一目标?

最佳答案

我尝试过这种方法:

Byte *buffer = (Byte*)malloc(asset.defaultRepresentation.size);

NSUInteger k = [asset.defaultRepresentation getBytes:buffer fromOffset: 0.0
                length:asset.defaultRepresentation.size error:nil];

NSData *adata = NSData *adata = [NSData dataWithBytesNoCopy:buffer
                                 length:j freeWhenDone:YES];    

确实有效!

关于cocoa - 尝试通过资源库使用 NSMutableData 获取字节并附加视频时会出现内存已满错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3793477/

相关文章:

objective-c - 显示从套接字连接发送的十六进制

objective-c - 更改 -[NSArray sortedArrayUsingComparator :] 的排序顺序

objective-c - 延迟通话,有可能取消吗?

cocoa - 如何将 NSKeyedUnarchive NSManagedObject 的子类导入到 Core Data 中?

objective-c - 为什么我应该避免在 -finalize 中做严肃的工作?

android - 如何跨包引用Android 'assets'?

ios - 如何在iPhone中快速从文件路径url获取视频或图像?

java - 如何从另一个android应用程序 Assets 文件中读取html文件?

javascript - 生产中 JS 文件的 Rails 3.1 Assets 管道中的错误指纹

javascript - 如何更改 MathJax 配置文件的默认目录?