Ich experimentiere mit Android Audio Aufnahme und Wiedergabe. Gibt es eine Möglichkeit, die verfügbaren Audioparameter auf meinem Gerät zu nummerieren?Wie ermittle ich Audio-Funktionen auf Android?
Gerade jetzt, wenn ich eine Kombination von Parametern, die die Hardware (oder Emulator) nicht gefällt, bekomme ich nur einen Fehler. Also muss ich "raten":
int bufferSize;
int sampleRate;
// does the audio hardware do 44 kHz?
sampleRate = 44100;
bufferSize = AudioRecord.getMinBufferSize(sampleRate,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT);
if (bufferSize != AudioTrack.ERROR_BAD_VALUE) {
// Nope, how about 22 kHz?
sampleRate = 22050;
}
bufferSize = AudioRecord.getMinBufferSize(sampleRate,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT);
if (bufferSize != AudioTrack.ERROR_BAD_VALUE) {
...
Sicherlich gibt es einen besseren Weg!
This chart anzeigt, dass die nur unterstütztes Audioeingangsabtastrate von 8 kHz ist? Ist das korrekt?
Hallo Marc - ja, ich habe das gesehen und es ist ein Teil des Puzzles, aber ich hoffe auf etwas umfassenderes (und enthält auch Eingabeeinstellungen). – Seth
Bumm. Es scheint, als wäre das Durchlaufen der möglichen Parameter zur Zeit der einzig mögliche Weg. Siehe http://bit.ly/c3BieY für die Arbeit eines anderen Entwicklers. Ich stimme zu, das ist nicht sehr optimal, eine getCapabilities() Funktion wäre schön zu haben. –