我正在尝试制作一个使用MediaRecorder库实时显示声音图表的应用程序。
使用该程序,似乎音频只能记录10-20ms。
final Runnable updateSoundLevel = new Runnable() {
@Override
public void run() {
if (SoundRecording==true){
handler.postDelayed(this, 0);
Amplitude = mediaRecorder.getMaxAmplitude();
longTime= System.currentTimeMillis()-startTime;
int intTime=(int) longTime;
listAmplitude.add(Amplitude);
listTime.add(intTime);
//textTime.setText("Amplitude: "+String.valueOf(Amplitude));
//textAmplitude.setText("Time: "+String.valueOf(intTime)+"ms");
addEntry(intTime,Amplitude);
}
else{
//intTime=0;
//Amplitude =0;
}
//peakdetection
for (int i = 0; i < listAmplitude.size(); i++) {
int ampl = listAmplitude.get(i);
if(ampl > piek1){
piek1 = ampl;
tijd1 = listTime.get(i);
}else if(ampl <= piek1 && ampl > piek2){
piek2 = ampl;
tijd2 = listTime.get(i);
}
}
}
};
但是,采样时间应大于此时间。 (48kHz)
如何获取可以使用图形显示的列表或数组中的所有已录制音频样本?