【问题标题】:iPhone: How to get Video file binary when using ALAssetsLibrary enumeration?iPhone:使用 ALAssetsLibrary 枚举时如何获取视频文件二进制文件?
【发布时间】:2011-04-08 08:42:04
【问题描述】:

我正在尝试通过 ALAssetsLibrary 访问 iPhone 的相册库。我成功访问相册并获取设备上每个图像的资产 URL。我的测试是,在获取所有图像后,上传到我的网络服务器也运行良好。 我也在尝试获取视频文件并执行相同的过程,即将视频文件上传到我的服务器。这是问题所在,我不知道如何访问视频指针二进制文件,就像我使用 UIImageJPEGRepresentation 处理图像一样,然后发送到我的 HTTP 代码?

-(void) assetsEmumeration {


void (^assetEnumerator)(struct ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop) {
        if(result != NULL) {
            NSLog(@"See Asset: %@", result);
            [assetArray addObject:result];
            // get image url
            NSURL *url = [[result defaultRepresentation] url];
            NSString *urlInStr = [NSString stringWithFormat:@"%@",url];

            NSData *imgData = UIImageJPEGRepresentation ([UIImage imageWithCGImage:[result thumbnail]], 90);

            HttpUpload (imgData);
        }
    };

    void (^assetGroupEnumerator)(struct ALAssetsGroup *, BOOL *) =  ^(ALAssetsGroup *group, BOOL *stop) 
    {

        if(group != nil) {
            [group enumerateAssetsUsingBlock:assetEnumerator];
        }
        [self.activity stopAnimating];
        [self.activity setHidden:YES];
    };
    assetLibrary = [[ALAssetsLibrary alloc] init];
    [assetLibrary enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos
                           usingBlock:assetGroupEnumerator
                         failureBlock: ^(NSError *error) {
                             NSLog(@"Failure: %@", [error localizedDescription]);
                         }];
    assetArray = [[NSMutableArray array] retain]; 

}

有人能解决这个问题吗,请指导我!

【问题讨论】:

    标签: iphone


    【解决方案1】:

    您可以使用 ALAssetRepresentation 的 getBytes:fromOffset:length:error: 方法获取原始字节,如下所示:

    uint8_t *bytes = malloc([representation size]);
    NSError *error = nil;
    NSUInteger length = [representation getBytes:bytes fromOffset:0 length:[representation size] error:&error];
    

    【讨论】:

      猜你喜欢
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      相关资源
      最近更新 更多