MediaRecorder

本文详细介绍了Android中的MediaRecorder组件,从简介、权限申请到MediaRecorder的状态机,再到其创建过程和与AudioRecord的区别。通过剖析MediaRecorder的内部工作原理,包括与ServiceManager、binder机制的关系,以及与MediaPlayerService的交互,展示了如何通过MediaRecorder实现音频录制。最后,文章总结了MediaRecorder实例的创建流程,为开发者提供了深入理解MediaRecorder架构的路径。
摘要由CSDN通过智能技术生成

MediaRecorder

一、简介

使用MediaRecorder能够编写从设备麦克风与相机捕获音视频、保存音视频并(使用MediaPlayer)进行播放的应用。


(1) MediaRecorder

简单方便,不需要理会中间录制过程,结束录制后可以直接得到音频文件进行播放;录制的音频文件是经过压缩的,需要设置编码器;录制的音频文件可以用系统自带的播放器播放

(2) AudioRecord

在声音录制过程中,可以处理采集的声音数据,如降噪、合成等。过程为一段一段进行录制然后得到数据分别进行处理。录制的是PCM格式的音频文件,需要用AudioTrack来播放,AudioTrack更接近底层。

二、权限申请

<uses-permission android:name="android.permission.RECORD_AUDIO"/>

<uses-permission android:name="android.permission.CAMERA" />

注意:在Android6.0以上权限动态申请


三、MediaRecorder状态机


四、基本使用


if (Textutils.equals(text, b:"开始")){
   
  btn_opt.setText("结束");
  Camera camera = Camera.open();
  //设置预览时摄像头的角度
  camera.setDisplayorientation(90);
  camera.unlock();
  mediaRecorder = new MediaRecorder();
  mediaRecorder.setCamera(camera);
  mediaRecorder.setAudioSource(MediaRecorder.AudioSource.NIC);//设置音频源麦克风
  mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CANIERA);//设备视频源摄像头
  mediaRecorder.setoutputFormat(NediaRecorder.OutputFormat.MPEG_4);//指定视频文件格式
  
  mediaRecorder.setAudioEncoder(NediaRecorder.AudioEncoder.AAC);
  mediaRecorder.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值