android AudioRecorder简单心得
来源:互联网 发布:搬砖魔刹石和数据芯片 编辑:程序博客网 时间:2024/06/18 18:29
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简单心得
- AudioRecorder && AudioPlayer简单实现
- Android MediaRecorder与AudioRecorder
- Android录音MediaRecorder/AudioRecorder相关总结
- Android录音MediaRecorder/AudioRecorder相关总结
- Rexsee API介绍:Android音频录制,AudioRecorder函数与源码
- Android AudioRecorder录制mp3文件 RAW转MP3
- Android 中的AsyncTask的简单使用心得
- Android 心得
- Android心得
- android心得
- android心得
- android心得
- 学习Java简单心得
- bonjour简单使用心得
- bonjour简单使用心得
- LitJson 简单使用心得
- ToolBar简单实用心得
- android 获取sim卡运营商信息(转)
- 算法导论答案 16.2-2 0-1背包问题的动态规划算法
- The backup progress monitor
- •利用钩子机制取得windows的消息监控权-(2013/09/18)
- jQuery点击图片实现表格的隐藏与显示
- android AudioRecorder简单心得
- 黑马程序员 java入门:函数
- Eclipse中如何集成JBOSS7.0版本
- Linux YUM源配置与内核升级
- •alpha 闪烁效果-(2013/09/18)
- OCP-1Z0-051-V9.02-33题
- 有趣的css3效果
- •an appwizard to generate non-(2013/09/18)
- Cracking the coding interview--Q20.12