-1

すべてのビデオをデバイスに保存してサムネイルで表示するプログラムを作成する必要があります。私はそれらをすべてリストすることができますが、それらのほとんどは黒いサムネイルが付いていますが、ギャラリーアプリケーションではそれらが完全に表示されます.

私を助けてください!私が試したことは

MediaStore.Video.Thumbnails.getThumbnail(mContex.getContentResolver(), id, MediaStore.Video.Thumbnails.MICRO_KIND, null);

また

ThumbnailUtils.createVideoThumbnail(filePath, MediaStore.Video.Thumbnails.MICRO_KIND)
4

2 に答える 2

2

一部のビデオ ファイル ( YouTube からダウンロードできるmp4ThumbnailUtils.createVideoThumbnail()など) には、最初に黒いフレームがほとんどなく、これが.

MediaMetadataRetrieverクラスを使用して、time=0 からのオフセットでファイルからフレームを抽出できます。最良の結果を得るには、getFrameAtTime(t, OPTION_NEXT_SYNC)を使用し、時間tを反復処理して重要なサムネイルを見つける必要があります。500000 (0.5 秒) のステップを試すことができます。

于 2012-09-19T14:50:29.693 に答える
0

このコードを使用してください。それは私のために働いています。から

    int id = **"The Video's ID"**
    ImageView iv = (ImageView ) convertView.findViewById(R.id.imagePreview);
    ContentResolver crThumb = getContentResolver();
    BitmapFactory.Options options=new BitmapFactory.Options();
    options.inSampleSize = 1;
    Bitmap curThumb = MediaStore.Video.Thumbnails.getThumbnail(crThumb, id, MediaStore.Video.Thumbnails.MICRO_KIND, options);
    iv.setImageBitmap(curThumb);


If It is not working Use This  

Bitmap bmThumbnail;
        bmThumbnail = ThumbnailUtils.createVideoThumbnail(videoFileList[position], Thumbnails.MICRO_KIND);
于 2012-09-19T13:40:33.480 に答える