Преобразование PHAsset (видео) в AVAsset, синхронно

Мне нужно использовать объект AVAsset, чтобы воспроизвести его с помощью AVPlayer и AVPlayerLayer. Я начал использовать фреймворк Photos, так как AssetsLibrary устарела. Теперь я дошел до того, что у меня есть массив объектов PHAsset, и мне нужно преобразовать их в AVAsset. Я попытался перечислить через PHFetchResult и выделить новый AVAsset, используя локализованное описание PHAsset, но, похоже, при воспроизведении он не показывает никакого видео.

    PHAssetCollection *assetColl = [self scaryVideosAlbum];

    PHFetchResult *getVideos = [PHAsset fetchAssetsInAssetCollection:assetColl options:nil];

    [getVideos enumerateObjectsUsingBlock:^(PHAsset *asset, NSUInteger idx, BOOL *stop) {
            NSURL *videoUrl = [NSURL URLWithString:asset.localizedDescription];
            AVAsset *avasset = [AVAsset assetWithURL:videoUrl];
            [tempArr addObject:avasset];
    }];

Я предполагаю, что локализованное описание не является абсолютным URL видео.

Я также наткнулся на PHImageManager и requestAVAssetForVideo, однако параметр options, когда дело касается видео, не имеет свойства isSynchrounous, как в случае с параметром параметров изображения.

        PHVideoRequestOptions *option = [PHVideoRequestOptions new];
        [[PHImageManager defaultManager] requestAVAssetForVideo:videoAsset options:option resultHandler:^(AVAsset * _Nullable avasset, AVAudioMix * _Nullable audioMix, NSDictionary * _Nullable info) {

Есть ли синхронный способ сделать это?

Благодарю.

Ответы на вопрос(4)

Ваш ответ на вопрос