Как преобразовать видео, выбранное из галереи, в NSData, используя URL-адрес видео в ios?

Я показал все видео галереи в виде коллекции, используя Photo framework. Я извлек URL-адреса видео из PHCachingImageManager (PHAsset lib), как показано ниже:

[imageManager requestAVAssetForVideo:asset options:nil resultHandler:^(AVAsset *avAsset, AVAudioMix *audioMix, NSDictionary *vidInfo) {
        // Use the AVAsset avAsset
        AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:avAsset];
        AVPlayer *videoPlayer = [AVPlayer playerWithPlayerItem:playerItem];

        NSURL *vUrl=[self urlOfCurrentlyPlayingInPlayer:videoPlayer];
        NSString *url=[NSString stringWithFormat:@"%@",vUrl];

        if (url.length>0) {
            [videoInfo addObject:url];
        }
    }];

Поскольку мне нужно загрузить выбранное видео, я конвертирую его в nsdata, как показано ниже:

NSData* data = [NSData dataWithContentsOfFile:selectedFileUrl  options:0 error:&error];

получение таких URL-адресов, как: video url=file:///var/mobile/Media/DCIM/100APPLE/IMG_0165.MOV

Но я всегда получаю данные как нулевые.

Что я здесь делаю неправильно? Пожалуйста помоги!

Спасибо!!!


person sarita    schedule 17.04.2017    source источник
comment
NSData * data = [NSData dataWithContentsOfURL: [NSURL URLWithString: selectedFileUrl]]; Проверь это   -  person NAVEEN KUMAR    schedule 17.04.2017
comment
Попробуйте с : NSData *videoData = [NSData dataWithContentsOfURL:videoURL];   -  person Piyush    schedule 17.04.2017
comment
спасибо @NAVEENKUMAR. Я попробовал то, что вы, ребята, сказали ... до сих пор безуспешно   -  person sarita    schedule 17.04.2017
comment
затем проблема с вашим URL-адресом ... ваш выбор пути к вашему видео из локального ... сохраненного видео ..?   -  person NAVEEN KUMAR    schedule 17.04.2017
comment
да @NAVEENKUMAR это местные видео...записанные с камеры   -  person sarita    schedule 17.04.2017
comment
этого кода недостаточно, можете ли вы предоставить код раздела загрузки. @sarita   -  person NAVEEN KUMAR    schedule 18.04.2017


Ответы (2)


Проверь это:

  NSData* data = [NSData dataWithContentsOfFile::[NSURL URLWithString: selectedFileUrl]  options:nil error:&error];
person NAVEEN KUMAR    schedule 17.04.2017
comment
Обычно рекомендуется разъяснить код в своем ответе. Расскажите о том, как это работает или чем именно вы занимаетесь. Это помогает новым разработчикам понять, что именно происходит. - person Caleb Kleveter; 17.04.2017

Попробуйте с ним

[imageManager requestAVAssetForVideo:asset options:nil resultHandler:^(AVAsset *avAsset, AVAudioMix *audioMix, NSDictionary *vidInfo) {
        // Use the AVAsset avAsset
        AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:avAsset];
        AVPlayer *videoPlayer = [AVPlayer playerWithPlayerItem:playerItem];

        NSURL *vUrl=[self urlOfCurrentlyPlayingInPlayer:videoPlayer];
        if (vUrl) {
            [videoInfo addObject:vUrl];
        }
    }];

Теперь вы можете получить данные, используя: NSData *videoData = [NSData dataWithContentsOfURL:videoURL];

person Piyush    schedule 17.04.2017