Android MediaRecorder录音录像 暂停 继续录音 播放 ARM格式(音频一)

Android MediaRecorder录音录像 暂停 继续录音 播放 ARM格式(音频一)

https://blog.csdn.net/WHB20081815/article/details/88778605

Android 录音机小米商业项目开源代码 AudioRecord录音暂停 播放 Wav格式(音频二)

https://blog.csdn.net/WHB20081815/article/details/88778623

Android 录音机小米商业项目开源代码 pcm转AAC硬编码 录音暂停 播放 (音频三)

https://blog.csdn.net/WHB20081815/article/details/88778634

Android 录音机商业项目开源代码 pcm转AAC软编码 录音暂停 播放 (音频四)

https://blog.csdn.net/WHB20081815/article/details/88778641

Android 高仿唱吧 咔拉ok 商业项目开源代码 K歌合成 伴奏录音合成MP3(音频五)

https://blog.csdn.net/WHB20081815/article/details/88778652

 

AMR文件的格式,我们可以确定,AMR文件的前6个字节(也就是文件头)是一定一样的。

 

Android除了支持播放多媒体文件之外,还可以从对应的硬件中捕获多媒体,比如从麦克风录音、从摄像头录像等。本篇博客讲解一下Android下如何通过MediaRecorder进行录音以及录像的步骤,最后将以简单的Demo演示。

   本篇博客的主要内容:

  1. MediaRecorder
  2. MediaRecorder录制音频
  3. MediaRecorder录制视频
  4. MediaRecorder的内部类

 

MediaRecorder

  MediaRecorder主要用于记录音频与视频,它位于"android.media.MediaRecorder"下。它为开发人员提供了详尽的AIP以完成记录音频与视频的工作,下面简单介绍一些常用的。

  • void prepar():准备录制。
  • void start():开始录制。
  • void stop():停止录制。
  • void reset():重置MediaRecorder。
  • void release():释放MediaRecorder占用的资源。
  • void setAudioEncoder(int):设置音频记录的编码格式。
  • void setAudoSource(int):设置音频记录的音频源。
  • void setOutoutFormat(int):设置记录的媒体文件的输出转换格式。
  • void setPreviewDisplay(Surface):设置视频的预览界面。
  • void setVideoEncoder(int):设置视频记录的编码格式。
  • void setVideoSource(int):设置视频记录的视频源。
  • void setOutputFile(String):媒体文件输出路径。
  • void setMaxDuration(int):设置最大记录时长,单位为毫秒。

  上面仅仅列出了一些常用的方法,但是通过这个方法可以看出MediaRecorder是需要在多个状态之间切换的,准备、开始、停止、重置等等。MediaRecorder也为我们提供了一套状态切换的规则,只有在既定的状态下,才能完成对应的操作,下图是官方文档提供的状态图。

 

  上图非常直观的展示了MediaRecorder的状态间的转换,这里只说几点需要注意的地方:

  • 当为MediaRecorder设定媒体录入源之后即初始化完成,这个时候才可以为其设定其他的参数。
  • 在开始录制前必须先调用prepare()准备录制。
  • 只有在Initial初始化状态,才可以对MediaRecorder调用release()释放资源,其他状态必须先stop()或者reset()。
  • 错误状态是游离在所有状态之外的,当发生错误的时候,只有进行reset()才会进入Initial初始状态。

 

  MediaRecorder录制视频必不可少的步骤:

  1. 调用new MediaRecorder()构造函数得到MediaRecorder的实例。
  2. 调用setOutputFormat()设定媒体文件的输出格式,必须在设定音频与视频的编码格式之前设定。
  3. 如果需要记录音频,则调用setAudioSource()设定音频的录入源以及调用setAudioEncoder()设定音频的编码方式。
  4. 如果需要记录视频,则调用setVideoSource()设定视频的录入员以及调用setVideoEncoder()设定视频的编码方式。
  5. 调用setOutputFile()设定记录的媒体文件保存的路径。
  6. 先调用prepare()准备录制,准备完成之后调用start()开始录制。
  7. 记录完成后,调用stop()停止录制。

  

demo下载地址:

https://download.csdn.net/download/plokmju88/6640019

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值