Getting the number of frames from a video in Android

Posted by Jay Patel on Super User See other posts from Super User or by Jay Patel
Published on 2012-04-12T11:00:26Z Indexed on 2012/04/12 11:32 UTC
Read the original article Hit count: 229

Filed under:
|

I want to get the number of frames from a video. I'm using the following code:

package com.vidualtest;

import java.io.File;
import java.io.FileDescriptor;

import android.app.Activity;
import android.graphics.Bitmap;
import android.media.MediaMetadataRetriever;
import android.os.Bundle;
import android.os.Environment;
import android.widget.ImageView;

public class VidualTestActivity extends Activity {
  /** Called when the activity is first created. */
  File file;
  ImageView img;

  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);

      img = (ImageView) findViewById(R.id.img);

      File sdcard = Environment.getExternalStorageDirectory();
      file = new File(sdcard, "myvid.mp4");

      MediaMetadataRetriever retriever = new MediaMetadataRetriever();

      try {
          retriever.setDataSource(file.getAbsolutePath());
img.setImageBitmap(retriever.getFrameAtTime(10000,MediaMetadataRetriever.OPTION_CLOSEST));
      } catch (IllegalArgumentException ex) {
          ex.printStackTrace();
      } catch (RuntimeException ex) {
          ex.printStackTrace();
      } finally {
          try {
              retriever.release();
          } catch (RuntimeException ex) {
          }
      }
  }
}

In getFrameAtTime() I'm passing different static time values like 10000, 20000, etc. in milliseconds, but still I'm getting the same frame from the video. My goal is to get different frames with a different time interval.

© Super User or respective owner

Related posts about android

Related posts about frame