В ALAsset отсутствует временная метка миниатюры видеофайла

Привет, я получаю все фото и видео эскизы из библиотеки ALAsset.
мой код работает нормально, я получаю фотографии и видео thumbnail.but в видео thumbnail отсутствует значок видео и его отметка времени.

[assetImageView setImage:[UIImage imageWithCGImage:[self.asset thumbnail]]];


я получаю как выше... я использую ELCImagePickerDemp API


Мне нужно, чтобы получить, как это я пропускаю время и значок в правом нижнем углу эскиза. любая помощь будет оценена... THX

2 ответа

Решение

Как вы заметили, эскиз библиотеки ресурсов не содержит информацию о символе и времени в миниатюре. Таким образом, вы должны нарисовать их на миниатюре, используя информацию, полученную из Alassetslibrary (проверьте ALAssetPropertyType и ALAseetPropertyDuration, чтобы получить информацию, необходимую для их рисования самостоятельно).

Ура,

Хендрик

Замените фильтр в кодовой форме "allPhotos" на "allAssets" в двух местах в классе ELCAlbumPickerController.m

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

                  // replace [g setAssetsFilter:[ALAssetsFilter allPhotos]];  as it filter only photo
                   [g setAssetsFilter:[ALAssetsFilter allAssets]];  //gives allassets
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

 // replace [picker.assetGroup setAssetsFilter:[ALAssetsFilter allPhotos]]; as it filer only photo 
    **[picker.assetGroup setAssetsFilter:[ALAssetsFilter allAsset]];** // gives allassets
}

теперь все ресурсы будут отображаться в библиотеке. Чтобы различать видео и миниатюру изображения, теперь нужно добавить некоторый код класса ELCAsset.m в конструктор

-(id)initWithAsset:(ALAsset*)asset_ {
if ([self.asset valueForProperty:ALAssetPropertyType] == ALAssetTypeVideo ){
         // code for video thumbnail 
       // you can use this link to understand video thumbnail 
     //http://stackru.com/questions/11688938/alasset-thumbnail-at-specific-timestamp
}

    if ([self.asset valueForProperty:ALAssetPropertyType] == ALAssetTypePhoto ){
             // code for Photo thumbnail 
    }

}
Другие вопросы по тегам