1.如何创建一个有效的AudioRecorder实例

Android各种设备的采样频率不同,输入的声道数也不同,如果采用固定的采样频率和声道数,那么得到的AudioRecorder不一定能够正常初始化。

为了正常使用,需要尝试各种不同的参数,得到在此设备上可以用的AudioRecorder实例。代码如下:

private void createAudioRecord() {

for (int sampleRate : new int[]{44100, 8000, 11025, 16000, 22050, 32000,

47250, 48000}) {

for (short audioFormat : new short[]{

AudioFormat.ENCODING_PCM_16BIT,

AudioFormat.ENCODING_PCM_8BIT}) {

for (short channelConfig : new short[]{

AudioFormat.CHANNEL_IN_MONO,

AudioFormat.CHANNEL_IN_STEREO}) {

// Try to initialize

try {

recBufSize = AudioRecord.getMinBufferSize(sampleRate,

channelConfig, audioFormat);

if (recBufSize < 0) {

continue;

}

audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,

sampleRate, channelConfig, audioFormat,

recBufSize * 2);

if (audioRecord.getState() == AudioRecord.STATE_INITIALIZED) {

return;

}

audioRecord.release();

audioRecord = null;

} catch (Exception e) {

// Do nothing

}

}

}

}

throw new IllegalStateException(

"getInstance() failed : no suitable audio configurations on this device.");

}

2.常见错误

1.有些设备上面,即使你得到了有效的AudioRecorder实例,在audioRecord.startRecording()的时候还会报ERROR_BAD_VALUE错误。

这有可能是你使用了AudioManager而没有释放导致的。

其他错误都可以在网络上找到答案。

android audiorecorder有哪些功能,android AudioRecorder简单心得分享相关推荐

  1. android平台的计时功能,Android实现简单计时器功能

    本文实例为大家分享了Android实现简单计时器的具体代码,供大家参考,具体内容如下 布局 在res/layout 下进行布局 xmlns:android="http://schemas.a ...

  2. Android实现支付宝AR功能,Android接入支付宝实现支付功能实例

    我本来是想直接讲Android支付这一块的,包括支付宝,微信,其他第三方整合支付等,但是微信开放平台他对我的账号做了限制,所有我今天就先把重心放在支付宝的支付上,也算是写得尽可能详细些吧,毕竟是第三方 ...

  3. Android实现实时视频聊天功能|源码 Demo 分享

    疫情期间,很多线下活动转为线上举行,实时音视频的需求剧增,在视频会议,在线教育,电商购物等众多场景成了"生活新常态". 本文将教你如何通过即构ZEGO 音视频 SDK 在Andro ...

  4. android的手势解锁功能,Android应用开发之Android 5秒学会使用手势解锁功能

    本文将带你了解Android应用开发Android 5秒学会使用手势解锁功能,希望本文对大家学Android有所帮助. Android手势解锁 本文讲述的是一个手势解锁的库,可以定制显示隐藏宫格点.路 ...

  5. android如何实现打分功能,Android App中使用RatingBar实现星级打分功能的教程

    RatingBar简单介绍RatingBar是基于SeekBar(拖动条)和ProgressBar(状态条)的扩展,用星形来显示等级评定,在使用默认RatingBar时,用户可以通过触摸/拖动/按键( ...

  6. android 手机录屏功能,Android录屏功能的实现

    最近做一个Android开发的项目用到了录屏的功能,开始查阅了一些资料和博客,基本上都是在讨论ROOT的.直到后来在github上看到一个比较新的代码,才恍然发现,Android 5.0时候开放了一个 ...

  7. android studio发邮件功能,Android发送邮件的方法实例详解

    本文实例讲述了Android发送邮件的方法.分享给大家供大家参考,具体如下: 在android手机中实现发送邮件的功能也是不可缺少的.如何实现它呢?下面以简单的例子进行说明. 程序如下: import ...

  8. android实现在线阅读功能,Android使用WebView实现离线阅读功能

    1.先看效果图,加载动画: 加载完成,注意当前为飞行模式! 2.使用 1).让你的javabean实现OffLineLevelItem接口,因为我的这个离线阅读支持多级下载,比如Demo中的每个频道下 ...

  9. android 评论的展开功能,Android开发实现ListView点击展开收起效果示例

    本文实例讲述了Android开发实现ListView点击展开收起效果.分享给大家供大家参考,具体如下: 废话不说先上效果: 实际上这是采用一个ExpandableListView实现的 布局文件很简单 ...

  10. android模拟微信聊天功能,android仿微信聊天界面 语音录制功能

    本例为模仿微信聊天界面UI设计,文字发送以及语言录制UI. 1先看效果图: 第一:chat.xml设计 android:layout_width="fill_parent" and ...

最新文章

  1. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版新增系统参数管理
  2. F3PlotStrip
  3. java和ffmpeg使用内存转码_FFMPEG基于内存的转码实例
  4. kotlin使用spring data redis(二)
  5. MongoDB 操作范例
  6. Windows Win7建立wifi热点,手机共享WIFI上网
  7. 全网最全Python爬虫工具使用指南
  8. void类型指针 指针的各种组合
  9. iOS开发之Mac安装软件时,xx.app文件损坏,无法安装,解决方法,亲测可用
  10. 大型地震灾害应急通信系统解决方案
  11. java十二星座 (快来测试你是什么星座吧)
  12. Nginx支持url不区分大小写
  13. 第14章_视图(创建视图、查看视图、更新视图的数据、修改、删除视图)
  14. IC讲解: 如何区分CP测试和FT测试
  15. 【移动安全高级篇】————3、Android系统ShellCode编写
  16. 【实现选定单选框出现对应的选择框或输入框】
  17. Kali Linux 2016.1 x86 x64 安装 wine QQ
  18. 解释SQL和NoSQL
  19. RMAN backup
  20. 一个26岁的男人和43岁的女人

热门文章

  1. 正则表达式测试工具使用说明
  2. Chrome 翻译插件规避代码块
  3. 长江后浪推前浪, “趣出行”死在“火牛”的沙滩上
  4. maven创建eclipse wtp项目
  5. 安装 smartgit
  6. 书单|阿里、百度大咖联合强推的2018年必读好书清单
  7. macos 系统固件 路径_iTunes下载的固件在哪里?iTunes固件文件路径详解
  8. itunes计算机无法启动,电脑怎么打开itunes
  9. c#加粗代码_C# 字体加粗按钮
  10. 【论文整理】风格迁移中格拉姆矩阵(Gram Matrix)的使用