как я могу загрузить видео с помощью фотокита?

до iOS8 я использовал ALAsset и использовал буфер для получения NSData, а затем загружал видео, как показано ниже;

Byte * buffer = (Byte *)malloc(lenght);

NSError * error = nil;

NSUInteger readLength = [self.asset.defaultRepresentation getBytes:buffer fromOffset:self.sendedSize length:lenght error:&error];

NSData * data = [NSData dataWithBytes:buffer length:readLength];

Итак, как я могу загрузить видео с помощью PhotoKit? Как я могу получить данные видео?


person 彭显鹤    schedule 21.08.2015    source источник


Ответы (1)


Как насчет этого:

    PHAsset *videoAsset /*Your video asset */;
    PHVideoRequestOptions *options = /*Options if you need them */;
    [[PHImageManager defaultManager] requestAVAssetForVideo:videoAsset options:options resultHandler:^(AVAsset * _Nullable asset, AVAudioMix * _Nullable audioMix, NSDictionary * _Nullable info) {
        AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetHighestQuality];
        NSURL *fileURL = /*Create a temporary file URL*/;
        exportSession.outputURL = fileURL;

        [exportSession exportAsynchronouslyWithCompletionHandler:^{
            NSData *assetData = [NSData dataWithContentsOfURL:fileURL];
            /* Do whatever you want to do with this data, and delete it afterwards */      
        }];
    }];
person Ladislav    schedule 03.11.2015