android音频、视频、拍照基础操作
16lz
2021-12-04
播放音乐和视频用的是类:MediaPlayer
刻录声音和视频用的是类:MediaRecorder
拍照:Camera
没什么难度,都是调用android的API
1.刻录视频,关键代码如下:
2.刻录声音,关键代码如下:
3.播放声音,关键代码如下:
4.播放视频,关键代码如下:
5.拍照,关键代码如下
刻录声音和视频用的是类:MediaRecorder
拍照:Camera
没什么难度,都是调用android的API
1.刻录视频,关键代码如下:
MediaRecorder mediaRecorder = new MediaRecorder();mediaRecorder.reset(); //首先重置一下mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //从照相机种采集视频mediaRecorder.setVideoSource(MediaRecorder.AudioSource.MIC); //从麦克风中采集声音mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); //输出格式3GPmediaRecorder.setVideoSize(350, 240); //视频文件大小mediaRecorder.setVideoFrameRate(3); //录制帧数,每秒3帧mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);//设置视频编码方式mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); //设置声音编码方式/*设置保存路径为sd卡根目录*/File videoFile = new File(Environment.getExternalStorageDirectory(),System.currentTimeMillis()+".3gp");mediaRecorder.setOutputFile(videoFile.getAbsolutePath());mediaRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface()); //定义一个SurfaceView来显示画面mediaRecorder.prepare(); //此处要捕捉异常,底层调用硬件实现准备工作mediaRecorder.start();//停止mediaRecorder.stop();mediaRecorder.release();mediaRecorder=null;
2.刻录声音,关键代码如下:
//与录制视频很相似 mRecorder = new MediaRecorder(); mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); //声音来源麦克风 mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); //输出格式 mRecorder.setOutputFile(mFileName); //可以自己给定保存文件 mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); //编码方式 mRecorder.prepare(); mRecorder.start();
3.播放声音,关键代码如下:
MediaPlayer mPlayer = new MediaPlayer(); mPlayer.reset mPlayer.setDataSource(mFileName); //设置播放的声音文件 mPlayer.prepare(); mPlayer.start(); //............ //基本方法 mPlayer.pause() //暂停播放 mPlayer.stop() //停止播放 mPlayer.seekTo(int) //直接跳到某点进行播放
4.播放视频,关键代码如下:
MeidaPlayer media = new MeidaPlayer(); media.setAudioStreamType(AudioManager.STREAM_MUSIC);media.setDisplay(sh); //定义一个SurfaceView播放它media.setDataSource(file.getAbsolutePath());media.prepare();media.start();
5.拍照,关键代码如下
Camera camera = Camera.open();Parameters parameters = camera.getParameters();parameters.setPreviewSize(420, 300); //设置预览照片的大小parameters.setPreviewFrameRate(3); //每秒3帧parameters.setPictureFormat(PixelFormat.JPEG); //设置照片输出格式parameters.set("jpeg-quaility", 85); //设置照片质量parameters.setPictureSize(420, 300); //设置照片大小camera.setParameters(parameters);camera.setPreviewDisplay(SurfaceView) //定义一个 SurfaceView用于显示预览camera.startPreview();//..........//按下拍照键后//camera.autoFocus(null); 自动对焦camera.takePicture(null, null, new PictureClassback()); //拍照 //.............. //需要实现PictureCallback接口 private class PictureClassback implements PictureCallback{public void onPictureTaken(byte[] abyte0, Camera camera) {Bitmap bitmap = BitmapFactory.decodeByteArray(abyte0, 0, abyte0.length); //根据照片2进制流生成位图File file = new File(Environment.getExternalStorageDirectory(),System.currentTimeMillis()+".jpg");FileOutputStream stream = new FileOutputStream(file);bitmap.compress(CompressFormat.JPEG, 100, stream); //此方法设置照片质量和输出格式,并且保存图片stream.close();} }
更多相关文章
- android webview 设置
- android 设置bitmap 设置图片的大小
- 【Android(安卓)界面效果4】android背景选择器selector用法汇总
- Android启动的大致分析
- Android(安卓)分组列表适配器 MyExpandableAdapter
- Android(安卓)商显会议平板聚光灯效果实现
- Android实现圆角弹框功能
- Android弹出式提示框 PopupWindow
- android 日期对话框