您的位置:首页 > 其它

获取图片,视频,音频

2016-07-09 19:07 351 查看
待完善

public class MainActivity extends Activity{

public static final int MEDIA_TYPE_IMAGE = 1;
public static final int MEDIA_TYPE_VIDEO = 2;

private MediaRecorder mr;
private boolean preppare=false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mr=new MediaRecorder();
init();
}

private void init() {
// TODO Auto-generated method stub
mr.release();
//设置音源
mr.setAudioSource(MediaRecorder.AudioSource.MIC);
//输出格式
mr.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mr.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
String path=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC)+file.separator+System.currentTimeMillis()+".mp3";
mr.setOutputFile(path);
preppare=true;
try {
mr.prepare();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//开始录音
public void start(View v){
if(preppare=true){
mr.start();
}
}
//停止录音
public void stop(View v){
if(preppare=true){
mr.stop();
}
}

public void CamerStart(View v) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, getOutpuMediaFileUri(MEDIA_TYPE_IMAGE));
startActivityForResult(intent, MEDIA_TYPE_IMAGE);
}

public void VodioStart(View v){
Intent intent=new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, getOutpuMediaFileUri(MEDIA_TYPE_VIDEO));
//视频质量
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, MEDIA_TYPE_VIDEO);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
switch (resultCode) {
case RESULT_OK:
if(MEDIA_TYPE_IMAGE==resultCode){
Uri data2 = data.getData();
Log.i("地址",""+file);
}else if(MEDIA_TYPE_VIDEO==resultCode){
Log.i("地址",""+file);
}
break;

default:
break;
}
}
File file;
public Uri getOutpuMediaFileUri(int type) {
file = getOutMediaFile(type);
Uri uri = Uri.fromFile(file);
return uri;

}

private File getOutMediaFile(int type) {
File file = null;
String rootpath=null;
switch (type) {
case MEDIA_TYPE_IMAGE:
rootpath=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getPath();
file=new File(rootpath+File.separator+System.currentTimeMillis()+".jpg");
break;

case MEDIA_TYPE_VIDEO:
rootpath=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).getPath();
file=new File(rootpath+File.separator+System.currentTimeMillis()+".mp4");
break;
}
return file;

}

}


权限

<!-- 相机 -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- SD权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 视频 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />

<uses-feature
android:name="android.hardware.Camera"
android:required="false" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: