您的位置:首页 > 其它

Photo&Vedio的拍摄

2016-04-23 20:51 239 查看
http://developer.android.com/training/camera/photobasics.html

一、Vedio

1、首先要声明权限

<manifest ... >
<uses-featureandroid:name="android.hardware.camera"
android:required="true"/>
...
</manifest>

2、调用Vedio

staticfinalint REQUEST_VIDEO_CAPTURE =1;

privatevoid dispatchTakeVideoIntent(){
Intent takeVideoIntent =newIntent(MediaStore.ACTION_VIDEO_CAPTURE);
if(takeVideoIntent.resolveActivity(getPackageManager())!=null){
startActivityForResult(takeVideoIntent, REQUEST_VIDEO_CAPTURE);
}
}

3、在onActivityResult中获取到录像地址

protectedvoid onActivityResult(int requestCode,int resultCode,Intent data){
if(requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK){
Uri videoUri = intent.getData();
mVideoView.setVideoURI(videoUri);
}
}


二、Photo

1、首先声明权限

<manifest ... >
<uses-featureandroid:name="android.hardware.camera"
android:required="true"/>
...
</manifest>

2、拍摄照片

staticfinalint REQUEST_IMAGE_CAPTURE =1;

privatevoid dispatchTakePictureIntent(){
Intent takePictureIntent =newIntent(MediaStore.ACTION_IMAGE_CAPTURE);
if(takePictureIntent.resolveActivity(getPackageManager())!=null){
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}

3、获取缩略图(通过返回的Data字段)

@Override
protectedvoid onActivityResult(int requestCode,int resultCode,Intent data){
if(requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK){
Bundle extras = data.getExtras();
Bitmap imageBitmap =(Bitmap) extras.get("data");
mImageView.setImageBitmap(imageBitmap);
}
}

三、如何制定文件位置

1、如要包文件存储在公共目录可以通过:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);


如要把文件存储在私有目录可以通过
getExternalFilesDir()
2、在startActivity是添加参数

takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(photoFile));

四、添加文件到系统数据库Gallery

Intent mediaScanIntent =newIntent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File f =newFile(mCurrentPhotoPath);
Uri contentUri =Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
this.sendBroadcast(mediaScanIntent);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: