我正在尝试开发一个检测口哨声音的应用程序,我已经使用了musicg库,它工作得很好,但问题是,与所有的设备都没有工作。这个库的工作原理是:记录器线程在后台连续录制音频,检测器线程通过whistleApi.isWhistle( buffer );方法匹配录制的缓冲区。问题是,上面提到的方法对于某些特定的设备总是返回false,但对于samsung和google nexus则返回true,这正是在这一点上。谁能告诉我,我应该做什么来解决这个问题,因为这是非常重要的我的项目。帮帮我!
发布于 2015-06-04 18:11:12
在RecorderThread类中,更改"AudioFormat.CHANNEL_CONFIGURATION_MONO In CHANNEL_IN_MONO RecorderThread frameByteSize=4096....“。
private AudioRecord audioRecord;
private boolean isRecording;
private int channelConfiguration = AudioFormat.CHANNEL_IN_MONO;//CHANNEL_CONFIGURATION_MONO
private int audioEncoding = AudioFormat.ENCODING_PCM_16BIT;
private int sampleRate = 44100;//44100
private int frameByteSize = 4096; // for 1024 fft size (16bit sample size)//4096
byte[] buffer;https://stackoverflow.com/questions/24424117
复制相似问题