获取图片

在Android的开发过程中,我们可能会读取手机里面的照片或者通过相机拍摄获取照片,这是两种常用的获取图片的方式,在做项目过程中也会经常遇到,下面来介绍一下这两种获取方式..
1.从本地相册获取照片:
一般就是写出这个方法

protected void getImageFromAlbum() {  
       Intent intent = new Intent(Intent.ACTION_PICK);  
       intent.setType("image/*");//相片类型  
       startActivityForResult(intent, REQUEST_CODE_PICK_IMAGE);  
   }  

2.从照相机获取照片
一般就是写出这个方法

       String state = Environment.getExternalStorageState();  
       if (state.equals(Environment.MEDIA_MOUNTED)) {  
           Intent getImageByCamera = new Intent("android.media.action.IMAGE_CAPTURE");     
           startActivityForResult(getImageByCamera, REQUEST_CODE_CAPTURE_CAMEIA);  
       }  
       else {  
           Toast.makeText(getApplicationContext(), "请确认已经插入SD卡", Toast.LENGTH_LONG).show();  
       }  
   }  

写完这个方法后,一般我们还需要通过响应这个方法去获取图片

@Override  
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
        if (requestCode == REQUEST_CODE_PICK_IMAGE) {             
                Uri uri = data.getData();  
                //to do find the path of pic  
            
        } else if (requestCode == REQUEST_CODE_CAPTURE_CAMEIA ) {             
        Uri uri = data.getData();  
                 //to do find the path of pic  
 } }  

制作视频

使用内建意图,如果你使用默认的Canera应用程序来制作视频,可以使用如下这些代码行来激活应用程序。

int requestCode = ...;
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(intent,requestCode);

如果使用API处理而不是使用Camera来为一个应用程序提供视频制作功能,需要了解MediaRecorder的细节。
android.media.MediaRecorder类可以用来记录视频和音频。要是用MediaRecorder来捕获视频,需要它的一个实例。
成功调用setOutputFormat将MediaRecorder引导到DataSourceConfigured状态。 你只需要调用prepare准备MediaRecorder即可。
要开始录制,请调用start方法。 它将保持记录,直到停止被叫或发生错误。 如果MediaRecorder的空间不足以存储,则可能会发生错误
视频或超过指定的最大记录时间。一旦您停止MediaRecorder,它将恢复到初始状态。 你必须把它拿走通过前三个州再次录制另一个视频。

声音录制

在这里讨论的SoundMeter类来采样声音或噪音层级,您将使用MediaRecorder类来对声音或噪声进行采样levels.MediaRecorder用于录制音频和视频。 输出可以写成a文件和输入源可以轻松选择。 它也比较容易使用。 你从头开始实例化MediaRecorder类。
MediaRecorder mediaRecorder = new MediaRecorder();
然后,通过调用其setAudioSource,setVideoSource来配置实例,setOutputFormat,setAudioEncoder,setOutputFile或其他方法。 接下来准备
MediaRecorder通过调用其准备方法:
mediaRecorder.prepare();

代码托管

参考资料

Android开发之获取相册照片和获取拍照照片
手把手教你做视频播放器