天天看點

在Android中調用圖檔、視訊、音頻、錄音、拍照

//選擇圖檔 requestCode 傳回的辨別

Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT); //"android.intent.action.GET_CONTENT"

innerIntent.setType(contentType); //檢視類型 String IMAGE_UNSPECIFIED = "image/*";

Intent wrapperIntent = Intent.createChooser(innerIntent, null);

((Activity) context).startActivityForResult(wrapperIntent, requestCode);

//視訊

Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT);

innerIntent.setType(contentType); //String VIDEO_UNSPECIFIED = "video/*";

//添加音頻

//錄音

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);

intent.setType(ContentType.AUDIO_AMR); //String AUDIO_AMR = "audio/amr";

intent.setClassName("com.android.soundrecorder",

"com.android.soundrecorder.SoundRecorder");

((Activity) context).startActivityForResult(intent, requestCode);

//拍攝視訊

int durationLimit = getVideoCaptureDurationLimit(); //SystemProperties.getInt("ro.media.enc.lprof.duration", 60);

Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);

intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);

intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, sizeLimit);

intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, durationLimit);

startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO);

//拍照 REQUEST_CODE_TAKE_PICTURE 為傳回的辨別

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //"android.media.action.IMAGE_CAPTURE";

intent.putExtra(MediaStore.EXTRA_OUTPUT, Mms.ScrapSpace.CONTENT_URI); // output,Uri.parse("content://mms/scrapSpace");

startActivityForResult(intent, REQUEST_CODE_TAKE_PICTURE);