Android 多媒体应用:MediaRecorder 录制音视频 之 音频
来源:互联网 发布:辐射4帅男捏脸数据教程 编辑:程序博客网 时间:2024/05/16 14:35
- MediaRecord简单介绍
- 音频录制
- MediaRecord简单介绍
MediaRecord简单介绍
手机为我们提供了麦克风硬件,我们可以通过麦克风实现音频的录制。这里Android为我们提供了MedioRecorder来录制音频与视频。下图就是MediaRecorder的状态转换图。
音频状态转换
reset()–setAudioSource()设置声音来源MIC–setOutputFormat()设置所录制的音频文件的格式–setAudioEncoder()设置所录制声音的编码格式–setOutputFile()设置录制音频文件的保存位置–prepare()–start()–stop()–reset()–release()释放资源
视频状态转换类似,可以直接看图
音频状态转换
reset()–setAudioSource()设置声音来源MIC–setOutputFormat()设置所录制的音频文件的格式–setAudioEncoder()设置所录制声音的编码格式–setOutputFile()设置录制音频文件的保存位置–prepare()–start()–stop()–reset()–release()释放资源
视频状态转换类似,可以直接看图
音频录制
首先建立一个MediaRecorder的对象,然后设置音频来源(一般是麦克风)、设置音频的格式(一般是THREE_GPP)、设置编码格式(一般为AMR_NB)、设置生成文件的地址和文件名(注意有‘/’和后缀名)。代码如下:
private Button mButtonStart; private Button mButtonStop; private MediaRecorder mediaRecorder; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mButtonStart= (Button) findViewById(R.id.button_start_recorder); mButtonStop= (Button) findViewById(R.id.button_end_recorder); mButtonStart.setOnClickListener(this); mButtonStop.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.button_start_recorder: mediaRecorder=new MediaRecorder(); //设置声音的来源 mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); //设置音频的格式 mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); //设置编码格式 mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); // mediaRecorder.setOutputFile( "/storage/sdcard0/aaa.3gp"); //设置生成文件的地址 mediaRecorder.setOutputFile(Environment.getExternalStorageDirectory()+"/bbb.3gp"); try { mediaRecorder.prepare(); //准备录音 mediaRecorder.start();//开始录音 } catch (IOException e) { e.printStackTrace(); } break; case R.id.button_end_recorder: mediaRecorder.stop(); mediaRecorder.reset(); mediaRecorder.release(); break; } }
注意:记得添加权限
<uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
0 0
- Android 多媒体应用:MediaRecorder 录制音视频 之 音频
- Android 多媒体应用:MediaRecorder 录制音视频 之 音频
- Android多媒体之音频、视频录制MediaRecorder
- Android多媒体应用:视频录制-MediaRecorder
- 《android多媒体api》之MediaRecorder音视频录制api
- Android多媒体-MediaRecorder 录制音视频
- 多媒体录制音频/视频之——MediaRecorder
- Android 多媒体应用——MediaRecorder录制音频
- 初学Android,多媒体之使用MediaRecorder录制音频(七十八)
- Android之MediaRecorder录制音频
- android MediaRecorder 录制音频、视频代码片段
- 多媒体 使用MediaRecorder录制音频
- android多媒体部分学习笔记六----音频录制 mediaRecorder
- android多媒体部分学习笔记七------音频录制 mediaRecorder
- android多媒体部分学习笔记八------音频录制 mediaRecorder
- MediaRecorder之音频录制
- Android MediaRecorder录制音频
- Android MediaRecorder录制音频
- 维护100亿个URL(Radix TRee)
- 桥接模式下linux虚拟机ping不通本地主机是怎么一回事?
- 客户端与服务器通信中的安全使者——AppSecret
- xmlhelper帮助文档
- 设计模式之-单例模式
- Android 多媒体应用:MediaRecorder 录制音视频 之 音频
- C++中的名字空间
- Web开发人员最易犯下的十种常见错误
- SVN(TortoiseSVN)详细教程(三)--SVN更新及如何解决冲突文件
- Android studio添加jar包
- [总结]视频质量评价技术零基础学习方法
- Eclipse Java代码补全
- java Socket编程从客户端将数据写到流中时用PrintWriter替换BuferedWriter
- NSPredicate