获取图片,视频,音频

来源:互联网 发布:网络通讯设备回收 编辑:程序博客网 时间:2024/04/29 19:04

待完善

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" />
0 0
原创粉丝点击