我想要得到的視頻幀數..我米使用下面的代碼:獲取幀,從影片的Android
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) {
}
}
}
}
在這裏getFrameAtTime()IM傳遞不同的靜態時間像10000,20000等,以毫秒爲單位,但我仍然在不同的時間從視頻獲取相同的幀。我的目標是獲得不同時間間隔的不同幀。
請給我你可能的幫助。
感謝
您的代碼對於一個框架來說速度太慢,1秒。你找到了更好的解決方案嗎? – Nativ 2013-10-29 17:07:57
還沒有好友!其實我也在尋找優化的解決方案。 – 2013-10-30 04:39:17
所以看看我的解決方案下面! – Nativ 2013-10-30 08:47:18