마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

RAW폴더안에 있는 동영상을 배열로담기

0 추천

지금 제가 SD카드에있는 동영상을 담아서 썸네일로 추출했는데요 제가 지금 하고싶은건

res/raw 라는 폴더에 제가 사용할 동영상을용량을 줄여서 이것을 배열에 담고. 이 배열에담긴거를  이미지썸네일에 나타내

고 동영상을 클릭햇을때 스트링에 담긴 번호대로 다음 엑티비티로 넘겨주고싶습니다.

초보입니다 알려주세요 소스 첨부하겠습니다.

package com.example.mstar;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
import android.media.ThumbnailUtils;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore.Video.Thumbnails;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.MediaController;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.VideoView;

public class VideoList extends ListActivity {
	String mVideoUrl;
	String[] videoFileList = { "/sdcard/DCIM/Camera/20141016_162505.mp4",

	"/sdcard/DCIM/Camera/20141016_162520.mp4",
			"/sdcard/DCIM/Camera/20141016_162532.mp4", };

	Button btn;

	public class MyThumbnaildapter extends ArrayAdapter<String> {

		private Bitmap bitmap;

		public MyThumbnaildapter(Context context, int textViewResourceId,
				String[] videoFileList) {
			super(context, textViewResourceId, videoFileList);
			// TODO Auto-generated constructor stub
		}

		@Override
		public View getView(final int position, View convertView,
				ViewGroup parent) {
			// TODO Auto-generated method stub

			View row = convertView;
			if (row == null) {
				LayoutInflater inflater = getLayoutInflater();
				row = inflater.inflate(R.layout.videolist, parent, false);

			}

			TextView textfilePath = (TextView) row.findViewById(R.id.FilePath);
			String temp[] = videoFileList[position].split("/");
			final String FileName = temp[temp.length - 1];
			textfilePath.setText(FileName);
			ImageView imageThumbnail = (ImageView) row
					.findViewById(R.id.Thumbnail);

			final Bitmap bmThumbnail;
			// BitmapFactory.Options options = new BitmapFactory.Options();

			// options.inSampleSize = 4;
			bmThumbnail = ThumbnailUtils.createVideoThumbnail(
					videoFileList[position], Thumbnails.MICRO_KIND);
			imageThumbnail.setImageBitmap(bmThumbnail);

			Button btn = (Button) row.findViewById(R.id.preview);
			Button btn1 = (Button) row.findViewById(R.id.go);

			btn.setTag(position);
			btn.setOnClickListener(new View.OnClickListener() {
				@Override
				public void onClick(View v) {

					int pos = (Integer) v.getTag();
					String videoFileList = getListView().getItemAtPosition(
							position).toString();
					Intent i = new Intent(VideoList.this, ViewVideo.class);
					i.putExtra("call", videoFileList);

					// mVideoUrl = videoFileList[position];

					startActivity(i);
				}
			});

			// row.setTag(position);
			// row.setOnClickListener(new View.OnClickListener() {
			btn1.setTag(position);
			btn1.setOnClickListener(new View.OnClickListener() {
				@Override
				public void onClick(View v) {

					/*
					 * Bitmap bitmap = bmThumbnail; ByteArrayOutputStream stream
					 * = new ByteArrayOutputStream();
					 * bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
					 * byte[] byteArray = stream.toByteArray(); Intent i2 = new
					 * Intent(VideoList.this, Photo.class); i2.putExtra("image",
					 * byteArray); startActivity(i2);
					 */

					String kk = getListView().getItemAtPosition(position)
							.toString();
					Intent i = new Intent(VideoList.this, Photo.class);
					i.putExtra("asdf", kk);
					Log.e("asdf", kk);

					startActivity(i);

					// }

				}

			});
			return row;
		}

	}

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setListAdapter(new MyThumbnaildapter(VideoList.this,
				R.layout.videolist, videoFileList));

	}

}

 

안드로이드찢어 (1,080 포인트) 님이 2014년 11월 19일 질문
안드로이드찢어님이 2014년 11월 19일 수정

1개의 답변

0 추천
동영상 용량을 줄이려면 인코딩을 해야되지 않나요...?
갸아악 (21,260 포인트) 님이 2014년 11월 19일 답변
예 그냥 미리보기식으로  만들어요
...