0

こんにちは私はALAssetライブラリからすべての写真とビデオのサムネイルを取得しています。
コードは正常に機能しますが、写真とビデオのサムネイルを取得していますが、ビデオのサムネイルにビデオアイコンとそのタイムスタンプがありません。

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

ここに画像の説明を入力してください


私は上記のようになっています..私はELCImagePickerDempAPIを使用しています

ここに画像の説明を入力してください


このようにする必要があります。右下のサムネイルに時間とアイコンがありません。どんな助けでもありがたいです...THX

4

2 に答える 2

2

お気づきのように、assetslibraryのサムネイルには、サムネイルにシンボルと時間の情報が含まれていません。したがって、Alassetslibraryから取得した情報を使用してサムネイルに自分で描画する必要があります(ALAssetPropertyTypeとALAseetPropertyDurationをチェックして、これらを自分で描画するために必要な情報を取得してください)。

乾杯、

ヘンドリック

于 2012-06-06T07:59:34.043 に答える
0

ELCAlbumPickerController.mクラスの2つの場所で、コード形式「allPhotos」のフィルターを「allAssets」に置き換えます

-(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://stackoverflow.com/questions/11688938/alasset-thumbnail-at-specific-timestamp
}

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

}
于 2012-10-03T13:51:01.773 に答える