当前位置: 移动技术网 > IT编程>移动开发>Android > android AudioRecorder简单心得分享

android AudioRecorder简单心得分享

2019年07月24日  | 移动技术网IT编程  | 我要评论

siro-1300,催弦佛柱与君饮,中国稀土储量

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而没有释放导致的。
其他错误都可以在网络上找到答案。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网