位置: 编程技术 - 正文

android录音开发(app录音功能开发)

编辑:rootadmin

推荐整理分享android录音开发(app录音功能开发),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android录音机源代码,app录音功能开发,android调用录音,android录音软件,安卓录音功能开发,安卓录音功能开发,android内录音频实现,安卓录音开发,内容如对您有帮助,希望把文章链接给更多的朋友!

MediaRecorder类详解

手机一般都有麦克风和摄像头,而Android系统就可以利用这些硬件来录制音视频了。

为了增加对录制音视频的支持,Android系统提供了一个MediaRecorder的类。该类的使用也非常简单,下面让我们来了解一下这个类:

一、类结构:

java.lang.Object

?

android.media.MediaRecorder

二、类概述:

用于录制音频和视频的一个类。

三、状态图:

vcmRlcl9zdGF0ZV9kaWFncmFt">

说明:

与MediaPlayer类非常相&#;MediaRecorder也有它自己的状态图。下面是关于MediaRecorder的各个状态的介绍:

Initial:初始状态,当使用new()方法创建一个MediaRecorder对象或者调用了reset()方法时,该MediaRecorder对象处于Initial状态。在设定视频源或者音频源之后将转换为Initialized状态。另外,在除Released状态外的其它状态通过调用reset()方法都可以使MediaRecorder进入该状态。

Initialized:已初始化状态,可以通过在Initial状态调用setAudioSource()或setVideoSource()方法进入该状态。在这个状态可以通过setOutputFormat()方法设置输出&#;式,此时MediaRecorder转换为DataSourceConfigured状态。另外,通过reset()方法进入Initial状态。

DataSourceConfigured:数据源配置状态,这期间可以设定编码方式、输出文件、屏幕旋转、预览显示等等。可以在Initialized状态通过setOutputFormat()方法进入该状态。另外,可以通过reset()方法回到Initial状态,或者通过prepare()方法到达Prepared状态。

Prepared:就绪状态,在DataSourceConfigured状态通过prepare()方法进入该状态。在这个状态可以通过start()进入录制状态。另外,可以通过reset()方法回到Initialized状态。

Recording:录制状态,可以在Prepared状态通过调用start()方法进入该状态。另外,它可以通过stop()方法或reset()方法回到Initial状态。

Released:释放状态(官方文档给出的词叫做Idle state空闲状态),可以通过在Initial状态调用release()方法来进入这个状态,这时将会释放所有和MediaRecorder对象绑定的资源。

Error:错误状态,当错误发生的时候进入这个状态,它可以通过reset()方法进入Initial状态。

提示:与MediaPlayer相&#;使用MediaRecorder录音录像时需要严&#;遵守状态图说明中的函数调用先后顺序,在不同的状态调用不同的函数,否则会出现异常。

下面一个实例描述了的创建过程:

MediaRecorder recorder=newMediaRecorder();recorder.setAudioSource(MediaRecorder.AudioSource.MIC);recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);recorder.setOutputFile(PATH_NAME);recorder.prepare();recorder.start(); // Recording is now started...recorder.stop();recorder.reset(); // You can reuse the object by going back to setAudioSource() steprecorder.release();// Now the object cannot be reused

四、构造方法和公有方法

Public Constructors

MediaRecorder()

Default constructor.

Public Methods

final static int

getAudioSourceMax()

获取音频源的最大&#;。

int

getMaxAmplitude()

获取在前一次调用此方法之后录音中出现的最大振幅。

void

prepare()

准备录制。

void

release()

释放资源。

void

reset()

将MediaRecorder设为空闲状态,即Initial状态。

void

setAudioChannels(int numChannels)

设置录制的音频通道数。

void

setAudioEncoder(int audio_encoder)

设置所录制的声音的编码&#;式。

void

setAudioEncodingBitRate(int bitRate)

设置所录制的声音的编码位率。

void

setAudioSamplingRate(int samplingRate)

设置所录制的声音的采样率。

void

setAudioSource(int audio_source)

设置声音来源,一般传入 MediaRecorder. AudioSource.MIC参数指定录制来自麦克风的声音。

void

android录音开发(app录音功能开发)

setCamera(Camera c)

设置一个摄像头用于录制。

void

setCaptureRate(double fps)

设置视频帧捕获率。

void

setLocation(float latitude, float longitude)

设置并存储在输出文件中的地理数据(经度和纬度)。

void

setMaxDuration(int max_duration_ms)

设置录制会话的最长持续时间(以ms为单位)。

void

setMaxFileSize(long max_filesize_bytes)

设置录制文件的最大文件大小。

void

setOnErrorListener(MediaRecorder.OnErrorListener l)

注册一个用于记录录制时出现的错误的监听器。

void

setOnInfoListener(MediaRecorder.OnInfoListener listener)

注册一个用于记录录制时出现的信息事件。

void

setOrientationHint(int degrees)

设置输出的视频播放的方向提示。

void

setOutputFile(FileDescriptor fd)

设置录制的音频文件的保存位置。

void

setOutputFile(String path)

设置录制的音频文件的保存位置。

void

setOutputFormat(int output_format)

设置所录制的音视频文件的&#;式。

void

setPreviewDisplay(Surface sv)

设置使用哪个SurfaceView来显示视频预览。

void

setProfile(CamcorderProfile profile)

指定CamcorderProfile对象。

void

setVideoEncoder(int video_encoder)

设置所录制视频的编码&#;式。

void

setVideoEncodingBitRate(int bitRate)

设置所录制视频的编码位率。

void

setVideoFrameRate(int rate)

设置录制视频的捕获帧速率。

void

setVideoSize(int width, int height)

设置要拍摄的宽度和视频的高度。

void

setVideoSource(int video_source)

设置用于录制的视频来源。

void

start()

开始录制。

void

stop()

停止录制。

以上资料转发自

Android -- service两种启动方式startService与bindService 继上一篇文章,Android–Service的使用,我们来继续看看Service的两种启动方式第一种startService。运行代码,得知以下几点结论:我们了解它的启动周期为on

[android] listView解析 在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。抽空把对ListView的使用做了整理,并写了

Volley框架 以及 设置request超时时间 Volley提供了优美的框架,使android程序网络访问更容易、更快。Volley抽象实现了底层的HTTPClient库,我们不需关注HTTPClient细节,专注于写出更加漂亮、干

标签: app录音功能开发

本文链接地址:https://www.jiuchutong.com/biancheng/376608.html 转载请保留说明!

上一篇:【java线程池】(java线程池创建)

下一篇:Android -- service两种启动方式startService与bindService

  • 房地产开发公司组织架构
  • 小规模企业所得税税率多少
  • 向境外个人支付咨询费如何算税
  • 申报增值税无附表怎么填写
  • 新公司建账初始数据可以全部为零吗
  • 发票上的专用章没盖清楚,可以在票面其他空白处补盖吗
  • 科技公司增值税率是多少
  • 无偿赠送货物怎么做账
  • 咨询服务费没有发票
  • 费用怎么暂估
  • 个税中的年金是什么意思
  • 当月采购发票未到如何做账及结转成本?
  • 从公账转账私人转账
  • 突然收到银联入账收入怎么办
  • 职工死去还有工资吗
  • 案例分析房产税会计分录怎么写?
  • 开专票还需要提供营业执照?
  • 个人拿身份证可以贷款吗
  • 公司还法人借款网银转账
  • 外管证开具后如何缴税?
  • 对公账户钱怎么退回去
  • 电子承兑都是银行承兑吗
  • 旅客运输抵税
  • 增值税的计征方法有哪些
  • 商品流通企业批发销售会计分录
  • 农民工预储金怎么开户
  • 计提个人负担的社会保险费分录
  • 小规模企业需要汇算清缴吗
  • 申报缴纳印花税,取得银行缴税凭证
  • 小规模可以接收专票吗现在
  • 清产核资的步骤
  • 未开票收入必须全部转开票收入吗为什么
  • 销售商品现金流量表项目
  • 收到外币货款账务处理
  • 公司室内装修
  • 工商年报纳税总额怎么填写才正确
  • 如何修改mac系统密码
  • u盘写入扇区错误
  • ZF框架实现发送邮件的方法
  • vue+element-ui项目
  • mac触控板使用技巧
  • 贷款的钱转账了怎么办
  • 贷款利息不能抵扣依据
  • 法定盈余公积金达到注册资本的多少时不再提取
  • 退税还没到
  • 善意取得虚开发票罪认定
  • 完税证明可以去税务局补打吗
  • 在业和存续的区别
  • 固定资产直接进费用表示表示一次性计提折旧
  • mysql select语句操作实例
  • 融资性售后回租承租方为什么不交税
  • 月销售额不超过15万的免征增值税
  • 如何做好应收应付会计
  • 财政补助结转结转的依据
  • 自产的产品用于管理部门
  • 关于幼儿园的会议内容
  • 对存在标的资产的亏损合同,企业应首先对标的资产
  • 资本公积可以随便增加吗
  • 收到转账支票怎么填
  • 群发网址
  • win8.1配置要求
  • windowsxp
  • 系统维护的主要内容有哪些
  • 2021图解
  • emule.td文件怎么打开
  • ubuntu20.04怎么用
  • 双系统如何迁移到固态硬盘
  • w7升级w8.1
  • unity ondestroy
  • ExtJs 3.1 XmlTreeLoader Example Error
  • 批处理文件就是将若干文件集中起来
  • javascript中的原型和原型链
  • Errors running builder 'Android Resource Manager' on Project java.lang.NullPointerException
  • unity随机生成一个物体
  • Nodejs之http的表单提交
  • python爬虫爬取网页数据
  • 设置默认python版本
  • 内蒙古国家税务总局官网
  • 南通国资委网站首页
  • 企业所得税年报什么时候开始申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设