Vídeo thumbnail return null

Estoy creando miniaturas de videos almacenados en mi tarjeta sd, mostrando miniaturas y sus nombres en la vista de cuadrícula. En el elemento seleccionado evento de la vista de cuadrícula pop ups un cuadro de diálogo y preguntando x, y, a la derecha, las posiciones de fondo luego pegarlo a la actividad principal. Tengo los archivos de vídeo, y trató de crear thumbnail con la tienda de medios también estoy recuperando la miniatura como mapa de bits, pero el mapa de bits es nulo. En la vista de cuadrícula se muestran los nombres de video y puedo seleccionar la miniatura correspondiente y puedo dar posiciones también puedo ajustar la miniatura a la actividad principal. El problema es que el mapa de bits es nulo y la imagen de mapa de bits no se muestra (nombre de vídeo de texto mostrado). Cuál es el problema ? ¿No puedo resolverlo? ¿Por favor ayudame? Mi código se da a continuación. gracias por adelantado.

if (f.isFile()) { if (fName.endsWith(".mpg") || fName.endsWith(".mov") || fName.endsWith(".wmv") || fName.endsWith(".rm") || fName.endsWith(".mp4")) { tv.setText(fName); path = f.getAbsolutePath(); System.out.println("Video file path=>"+path); thumb = ThumbnailUtils.createVideoThumbnail(f.getAbsolutePath(),MediaStore.Video.Thumbnails.MICRO_KIND); if(thumb==null) { /**Every time it printing null**/ System.out.println("Thumb is null"); } iv.setImageBitmap(thumb); 

3 Solutions collect form web for “Vídeo thumbnail return null”

De la documentación de ThumbnailUtils.createVideoThumbnail : May return null if the video is corrupt or the format is not supported.

Por defecto, casi todos los formatos soportados son mp4 y 3gp. Vea aquí: http://developer.android.com/guide/appendix/media-formats.html para obtener una lista completa de formatos de soporte soportados por defecto.

Si está creando una imagen en miniatura desde un video de tarjeta sd esto crearía ThumbnailUtils.createVideoThumbnail contrario, utilice un cursor.

Vea este ejemplo .

 Try this code. It is getting the thumbnail of videos from urls. instead of pass the path of sd card .it will help you . Dont forgot to add internet permission in manifest file. public class VideoThumbnailActivity extends Activity { public static final String Downloader = null; static String uri1="http://daily3gp.com/vids/lucky_guy.3gp"; static String uri2="http://daily3gp.com/vids/reporter_hit_by_plane.3gp"; static String uri3="http://daily3gp.com/vids/motorcycle_wipesout_explodes.3gp"; static String uri4="http://commonsware.com/misc/test2.3gp"; public static String uri_array[]={uri1,uri2,uri3,uri4,uri1,uri2,uri3,uri4,uri1,uri2,uri3,uri4}; ImageView imageView; String url; Gallery ga1,ga2; /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); imageView = (ImageView)findViewById(R.id.imageView); ga1 = (Gallery)findViewById(R.id.gallery1); ga1.setAdapter(new ImageAdapter(getApplicationContext())); imageView.setImageBitmap(ThumbnailUtils.createVideoThumbnail(uri_array[0], MediaStore.Video.Thumbnails.FULL_SCREEN_KIND)); //on click event on gallery ga1.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View view, final int position,long arg3) { imageView.setImageBitmap(ThumbnailUtils.createVideoThumbnail(uri_array[position], MediaStore.Video.Thumbnails.FULL_SCREEN_KIND)); //on click event on imageview to play video imageView.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { // TODO Auto-generated method stub Intent intent = new Intent(getApplicationContext(),PlayActivity.class); intent.putExtra("path",uri_array[position]); startActivity(intent); } }); } }); } public class ImageAdapter extends BaseAdapter { private Context ctx; int imageBackground; public ImageAdapter(Context c) { ctx = c; TypedArray ta = obtainStyledAttributes(R.styleable.Gallery1); imageBackground = ta.getResourceId(R.styleable.Gallery1_android_galleryItemBackground, 1); ta.recycle(); } @Override public int getCount() { return uri_array.length; } @Override public Object getItem(int arg0) { return arg0; } @Override public long getItemId(int arg0) { return arg0; } @Override public View getView(int position, View view, ViewGroup arg2) { ImageView iv = new ImageView(ctx); Bitmap curThumb = null; curThumb = ThumbnailUtils.createVideoThumbnail(uri_array[position],MediaStore.Video.Thumbnails.FULL_SCREEN_KIND); iv.setImageBitmap(curThumb); iv.setScaleType(ImageView.ScaleType.FIT_XY); iv.setLayoutParams(new Gallery.LayoutParams(150,120)); iv.setBackgroundResource(imageBackground); return iv; } } 

Déjame saber que tu problema está resuelto o no.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.