手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >android AudioRecorder简单心得分享
android AudioRecorder简单心得分享
摘要:1.如何创建一个有效的AudioRecorder实例Android各种设备的采样频率不同,输入的声道数也不同,如果采用固定的采样频率和声道数...

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 viewpaper实例探讨

Android三种菜单实例分析

android 自定义Android菜单背景的代码

android webview 简单浏览器实现代码

Android SharedPreferences的使用分析

Android 简单的照相机程序的实例代码

android ListView的右边滚动滑块启用方法 分享

Android TextView和ImageView简单说明

Android编程心得分享——JSON学习过程

Android开发之BroadcastReceiver用法实例分析

精品推荐
分类导航