Photo&Vedioの撮影

16789 ワード

http://developer.android.com/training/camera/photobasics.html
一、Vedio
1、まず権限を宣言します。
 ... >
   
android:name="android.hardware.camera"
                 
android:required="true"/>
    ...
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、onActivityResoultで録画住所を取得する
protectedvoid onActivityResult(int requestCode,int resultCode,Intent data){
   
if(requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK){
       
Uri videoUri = intent.getData();
        mVideoView
.setVideoURI(videoUri);
   
}
}
二、Photoo
1、まず権限を宣言する
 ... >
   
android:name="android.hardware.camera"
                 
android:required="true"/>
    ...
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、サムネイルを取得する(戻りデータフィールドによる)
@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);
ファイルをプライベートディレクトリに保存する場合は、
get External Files Dir()
2、startActivityではパラメータを追加します。
 takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
                   
Uri.fromFile(photoFile));
四、システムデータベースギャラリーにファイルを追加する
Intent mediaScanIntent =newIntent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
   
File f =newFile(mCurrentPhotoPath);
   
Uri contentUri =Uri.fromFile(f);
    mediaScanIntent
.setData(contentUri);
   
this.sendBroadcast(mediaScanIntent);