के लिए getMaxAmplitude कार्यान्वित करें मैं अपने ऐप में मीडियारेकॉर्डर के बजाय ऑडियो रेकॉर्ड का उपयोग कर रहा हूं, यह ठीक काम कर रहा है, लेकिन मेरे पास एक तर्क है जो ऑडिओकॉर्ड का उपयोग करके प्राप्त करना मुश्किल है, जो कि मैं बफर पढ़ने के दौरान उपयोग कर रहा हूंऑडियो रिकॉर्ड्स
private void writeAudioDataToFile(){
byte data[] = new byte[bufferSize];
String filename = getTempFilename();
FileOutputStream os = null;
try {
os = new FileOutputStream(filename);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int read = 0;
max=0;
if(null != os){
while(isRecording){
read = recorder.read(buffer, 0, bufferSize);
int ab = (buffer[0] & 0xff) << 8 | buffer[1];
amplitude = Math.abs(ab);
if(amplitude>0&&litude<25000)
isSilence=true;
else
isSilence=false;
//System.out.println(">>>>>>>>>>>"+amplitude);
if(AudioRecord.ERROR_INVALID_OPERATION != read){
try {
os.write(buffer);
} catch (IOException e) {
e.printStackTrace();
}
}
}
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
लेकिन यह मेरे लिए काम नहीं करता है मूल्य के रूप में असली तेजी से मैं (audioRecord के लिए getMaxAmplitude की तरह कुछ) लागू करने की आवश्यकता बदल जाता है।