android开发笔记之多媒体—音频和视频的录制

编程入门 行业动态 更新时间:2024-10-25 16:27:16

android开发笔记<a href=https://www.elefans.com/category/jswz/34/1762947.html style=之多媒体—音频和视频的录制"/>

android开发笔记之多媒体—音频和视频的录制

使用MediaRecorder录制音频

手机一般都提供麦克风硬件,而Android系统可以利用该硬件来录制音频了。

使用MediaRecorder录制音频的步骤:

     1)创建MediaRecorder对象mediaRecorder = new MediaRecorder();2)调用MediaRecorder对象的setAudioSource()方法设置声音来源,一般传入MediaRecorder.AudioSource.MIC参数指定录制来自麦克风的声音mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);3)调用MediaRecorder对象的setOutputFormat()设置录制音频文件的格式。recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);4)调用MediaRecorder对象的
setAudioEncoder,setAudioEncodingBitRate(int),setAudioSamplingRate(int)设置录制的声音的编码格式,编码位率,采样率等。这些参数将可以控制所录制的声音的品质,文件的大小,一般声音品质越好,声音文件越大。recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);5)调用MediaRecorder对象的setOutputFile(String)设置录制文件的保存的位置。mediaRecorder.setOutputFile(Environment.getExternalStorageDirectory().getAbsolutePath()+"/huadong.amr");6)调用MediaRecorder的prepare()方法准备录制mediaRecorder.prepare();7)调用MediaRecorder对象的start()方法开始录制mediaRecorder.start();8)录制完成,调用MediaRecorder对象的stop()方法停止录制,并调用release()方法释放资源。mediaRecorder.stop();//释放资源mediaRecorder.release();

**注意:a)第三步和第四步不能搞反,否则会引发异常。
b)需要的权限**

android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:name="android.permission.RECORD_AUDIO"
android:name="android.permission.READ_EXTERNAL_STORAGE"

使用MediaRecorder和SurfaceView录制视频

手机一般都提供麦克风和摄像头硬件,而Android系统可以利用该硬件来录制视频了。

使用MediaRecorder录制音频的步骤:

 1)创建MediaRecorder对象mediaRecorder = new MediaRecorder();2)调用MediaRecorder对象的setVideoSource()方法设置视频的来源,一般传入MediaRecorder.VideoSource.CAMERA参数指定录制来自摄像头的图像mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);3)调用MediaRecorder对象的setAudioSource()方法设置声音来源,一般传入MediaRecorder.AudioSource.MIC参数指定录制来自麦克风的声音
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);4)调用MediaRecorder对象的setOutputFormat()设置录制音频文件的格式。recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);5)调用MediaRecorder对象的setVideoEncoder设置录制的视频的编码格式等。这些参数将可以控制所录制的视频的品质,文件的大小,一般视频品质越好,视频文件越大。recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);6)调用MediaRecorder对象的setAudioEncoder,setAudioEncodingBitRate(int),setAudioSamplingRate(int)设置录制的声音的编码格式,编码位率,采样率等。这些参数将可以控制所录制的声音的品质,文件的大小,一般声音品质越好,声音文件越大。
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);7)调用setVideoFrameRate(20)设置录制的视频帧率。必须放在设置编码和格式的后面,否则报错。8)调用setVideoSize(176, 144);设置视频录制的分辨率。必须放在设置编码和格式的后面,否则报错。9)调用setPreviewDisplay(sv.getHolder().getSurface());这是视频的预览效果。10)调用MediaRecorder对象的setOutputFile(String)设置录制文件的保存的位置。11)调用MediaRecorder的prepare()方法准备录制。12)调用MediaRecorder对象的start()方法开始录制。13)录制完成,调用MediaRecorder对象的stop()方法停止录制,并调用release()方法释放资源。

注意:需要的权限:

相比录制音频文件多了一个相机的权限

android.permission.CAMERA

更多推荐

android开发笔记之多媒体—音频和视频的录制

本文发布于:2024-03-08 17:36:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1721649.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:之多   音频   笔记   媒体   视频

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!