我正在尝试阅读和理解 Android 中的音频。在我的搜索中,我找到了这篇文章。在这里,他编写了一个以 wav 格式录制音频的代码。但是有一件事我并不完全理解,那就是他的代码的第一个循环:
public class ExtAudioRecorder
{
private final static int[] sampleRates = {44100, 22050, 11025, 8000};
public static ExtAudioRecorder getInstanse(Boolean recordingCompressed)
{
ExtAudioRecorder result = null;
if(recordingCompressed)
{
result = new ExtAudioRecorder( false,
AudioSource.MIC,
sampleRates[3],
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT);
}
else
{
int i=0;
do
{
result = new ExtAudioRecorder( true,
AudioSource.MIC,
sampleRates[i],
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT);
} while((++i<sampleRates.length) & !(result.getState() == ExtAudioRecorder.State.INITIALIZING));
}
return result;
他提供了有关它的基本信息,但我并不完全了解。这和不同类型安卓设备的性能有关系吗?无论如何,希望有人可以为我照亮这个:)