获取图片
在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();