SD カードからビデオを取得してグリッドビューに設定するのに問題があります。これは現在私が立ち往生しているところです。これまでの私のロジックは、ディレクトリを文字列配列に設定し、それらの値をアダプターで使用しようとしているということです。また、動画をサムネイルに変換することについてもよくわかりませんでした。現在行っていることは、白い画面を表示することです。どうぞよろしくお願いいたします。
public class Gridview extends Activity {
private static final String thepath = "/sdcard/Pictures/";
private static final File path = Environment.getExternalStoragePublicDirectory(thepath);
private static final String TAG = null;
String[] Reelfiles;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.preview);
File directory = new File(thepath);
directory.mkdirs();
Reelfiles = directory.list();
GridView gridView = (GridView) findViewById(R.id.gridview);
gridView.setAdapter(new VideoAdapter(this, Reelfiles));
}
public class VideoAdapter extends BaseAdapter {
Context mContext;
Bitmap bmThumbnail;
private String[] Reelfiles;
public VideoAdapter(Context c) {
}
public VideoAdapter(Context context, String[] Reelfiles) {
this.mContext = context;
this.Reelfiles = Reelfiles;
}
public int getCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
bmThumbnail = ThumbnailUtils.createVideoThumbnail(Reelfiles[position], Thumbnails.MICRO_KIND);
ImageView imageView = new ImageView(mContext);
imageView.setImageBitmap(bmThumbnail);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setLayoutParams(new GridView.LayoutParams(70, 70));
return imageView;
}
}
Preview.xml
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
マイログ
04-03 12:18:10.079: E/MediaMetadataRetrieverJNI(14433): getFrameAtTime: videoFrame is a NULL pointer
04-03 12:18:10.089: E/MediaMetadataRetrieverJNI(14433): getFrameAtTime: videoFrame is a NULL pointer
04-03 12:18:10.094: E/MediaMetadataRetrieverJNI(14433): getFrameAtTime: videoFrame is a NULL pointer
04-03 12:18:10.104: V/InputMethodManager(14433): Starting input: tba=android.view.inputmethod.EditorInfo@415218b0 ic=null
04-03 12:18:10.119: E/MediaMetadataRetrieverJNI(14433): getFrameAtTime: videoFrame is a NULL pointer
04-03 12:18:10.264: W/SurfaceView(14433): CHECK surface infomation creating=false formatChanged=false sizeChanged=false visible=false visibleChanged=true surfaceChanged=true realSizeChanged=false redrawNeeded=false left=false top=false