千家信息网

Android随手记—拍照录像以及录音的代码怎么写

发表于:2024-10-12 作者:千家信息网编辑
千家信息网最后更新 2024年10月12日,这篇文章将为大家详细讲解有关Android随手记-拍照录像以及录音的代码怎么写,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。package com.c
千家信息网最后更新 2024年10月12日Android随手记—拍照录像以及录音的代码怎么写

这篇文章将为大家详细讲解有关Android随手记-拍照录像以及录音的代码怎么写,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

package com.cons.dcg.collect;import java.io.File;import java.text.SimpleDateFormat;import java.util.*;import android.app.*;import android.content.Intent;import android.database.Cursor;import android.net.Uri;import android.os.AsyncTask;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import android.view.*;import android.widget.*;public class RecordActivity extends Activity implements OnClickListener {        private static final int RESULT_CAPTURE_IMAGE = 1;// 照相的requestCode        private static final int REQUEST_CODE_TAKE_VIDEO = 2;// 摄像的照相的requestCode        private static final int RESULT_CAPTURE_RECORDER_SOUND = 3;// 录音的requestCode               private String strImgPath = "";// 照片文件绝对路径        private String strVideoPath = "";// 视频文件的绝对路径        private String strRecorderPath = "";// 录音文件的绝对路径        @Override        protected void onCreate(Bundle savedInstanceState) {                super.onCreate(savedInstanceState);                this.setContentView(R.layout.problem_report);        }        @Override        protected void onActivityResult(int requestCode, int resultCode, Intent data) {                super.onActivityResult(requestCode, resultCode, data);                switch (requestCode) {                case RESULT_CAPTURE_IMAGE://拍照                        if (resultCode == RESULT_OK) {                                Toast.makeText(this, strImgPath, Toast.LENGTH_SHORT).show();                        }                        break;                case REQUEST_CODE_TAKE_VIDEO://拍摄视频                        if (resultCode == RESULT_OK) {                                Uri uriVideo = data.getData();                                Cursor cursor=this.getContentResolver().query(uriVideo, null, null, null, null);                                if (cursor.moveToNext()) {                                        /** _data:文件的绝对路径 ,_display_name:文件名 */                                        strVideoPath = cursor.getString(cursor.getColumnIndex("_data"));                                        Toast.makeText(this, strVideoPath, Toast.LENGTH_SHORT).show();                                }                        }                        break;                case RESULT_CAPTURE_RECORDER_SOUND://录音                        if (resultCode == RESULT_OK) {                                Uri uriRecorder = data.getData();                                Cursor cursor=this.getContentResolver().query(uriRecorder, null, null, null, null);                                if (cursor.moveToNext()) {                                        /** _data:文件的绝对路径 ,_display_name:文件名 */                                        strRecorderPath = cursor.getString(cursor.getColumnIndex("_data"));                                        Toast.makeText(this, strRecorderPath, Toast.LENGTH_SHORT).show();                                }                        }                         break;                }        }                      /**         * 照相功能         */        private void cameraMethod() {                Intent imageCaptureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);                strImgPath = Environment.getExternalStorageDirectory().toString() + "/CONSDCGMPIC/";//存放照片的文件夹                String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".jpg";//照片命名                File out = new File(strImgPath);                if (!out.exists()) {                        out.mkdirs();                }                out = new File(strImgPath, fileName);                strImgPath = strImgPath + fileName;//该照片的绝对路径                Uri uri = Uri.fromFile(out);                imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);                imageCaptureIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);                startActivityForResult(imageCaptureIntent, RESULT_CAPTURE_IMAGE);        }        /**         * 拍摄视频         */        private void videoMethod() {                Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);                intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);                startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO);        }        /**         * 录音功能         */        private void soundRecorderMethod() {                Intent intent = new Intent(Intent.ACTION_GET_CONTENT);                intent.setType("audio/amr");                startActivityForResult(intent, RESULT_CAPTURE_RECORDER_SOUND);        }        /**         * 提示信息         * @param text         * @param duration         */        private void showToast(String text, int duration) {                Toast.makeText(ProblemReport.this, text, duration).show();        }}

关于Android随手记-拍照录像以及录音的代码怎么写就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0