5
Voglio rilevare soffiare nel microfono su Android. Google non è stato di grande aiuto. È possibile?Android - Mic livelli di input?
Voglio rilevare soffiare nel microfono su Android. Google non è stato di grande aiuto. È possibile?Android - Mic livelli di input?
OK! L'ho trovato online, quindi sembra assolutamente possibile. Sembra che tu possa chiamare mediaRecorder.getMaxAmplitude().
codice da un app chiamato NoiseAlert
public void start() {
if (mRecorder == null) {
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mRecorder.setOutputFile("/dev/null");
mRecorder.prepare();
mRecorder.start();
mEMA = 0.0;
}
}
public double getAmplitude() {
if (mRecorder != null)
return (mRecorder.getMaxAmplitude()/2700.0);
else
return 0;
}
Ecco il source
sto errore di salire sul 'mRecorder.prepare();' e quando aggiungo try catch block ad esso, l'errore si annulla ma si verifica un errore di runtime. Aspettando con ansia una buona risposta. – stack
Come posso ascoltare continuamente l'evento in questo caso, voglio che la funzione di ampiezza venga attivata ogni volta che c'è un rumore/suono. – Sparsh