Photo&Vedio的拍摄

一、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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值