我想從圖像設置圖像到圖像使用MediaMetadataRetriever。Android:如何設置圖像到Imageview從視頻
當我移動,我走的框架,並試圖使用
mediaMetadataRetriever.getFrameAtTime((int)(33*10),MediaMetadataRetriever.OPTION_CLOSEST);
它工作正常首次將其顯示在搜索條,但是當我嘗試再次使用搜索條的進度是不是每次加工。以下是我的代碼。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
seekBar1 = (SeekBar)findViewById(R.id.seekBar1);
imageView1 = (ImageView)findViewById(R.id.imageView1);
File sdcard = Environment.getExternalStorageDirectory();
file = new File(sdcard,"VID_20130922_130050.mp4");
retriever = new MediaMetadataRetriever();
try {
retriever.setDataSource(file.getAbsolutePath());
Log.v("", "");
Bitmap bitmap = retriever.getFrameAtTime((int)(33*10),MediaMetadataRetriever.OPTION_CLOSEST);
imageView1.setImageBitmap(Bitmap.createScaledBitmap(bitmap, 480, 320, false));
bitmap.recycle();
} catch (IllegalArgumentException ex) {
ex.printStackTrace();
} catch (RuntimeException ex) {
ex.printStackTrace();
}
seekBar1.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
String[] params =null;;
if(progress >0)
setImage(progress);
}
});
}
public void setImage(int progress){
Bitmap bitmap = retriever.getFrameAtTime((int)(33*progress),MediaMetadataRetriever.OPTION_CLOSEST);
imageView1.setImageBitmap(Bitmap.createScaledBitmap(bitmap, 480, 320, false));
}
編輯
添加屏幕截圖,以便更好地解釋這個問題。這裏我只需要根據幀的多個圖像,使用videoView或mediaPlayer。
的可能重複[安卓:?是否可以顯示視頻縮略圖(http://stackoverflow.com/questions/1334694/android-is-it-possible-to-display-video-thumbnails) –
@ micro.pravi我需要幀的圖像而不是縮略圖。上面的鏈接沒有幫助。謝謝 – abhishek