Obecnie używam klas AudioTrack i AudioRecord w systemie Android.Android AudioRecord i AudioTrack opcje kodeków?
Używam czystych danych PCM, ale zastanawiałem się, jakie są moje opcje dla innych kodeków?
Od this page wydaje się, że mogę tylko kodować i dekodować za pomocą wąskopasmowego AMR?
Obecnie skonfigurować klasy audio następująco:
arec = new AudioRecord(MediaRecorder.AudioSource.MIC,
11025,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT,
buffersize);
atrack = new AudioTrack(AudioManager.STREAM_VOICE_CALL,
11025,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT,
buffersize,
AudioTrack.MODE_STREAM);
Więc moje pytanie brzmi jak mogę zmienić kodowanie PCM z jednego z innych obsługiwanych kodeków?
Kiedy próbuję zmienić ENCODING_PCM_16BIT na AudioFormat, otrzymuję tylko opcje domyślnego lub nieprawidłowego kodowania wraz z opcjami PCM.
Wszelkie linki do samouczków dotyczących kodowania i dekodowania dźwięku na urządzeniach z Androidem byłyby wspaniałe, gdyby ktoś znał jakąkolwiek pomoc w tym zakresie.
Dzięki
EDIT: ja zmieniłem kod do następujących:
arec = new AudioRecord(MediaRecorder.AudioSource.MIC,
11025,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
**MediaRecorder.AudioEncoder.AMR_NB**,
buffersize);
atrack = new AudioTrack(AudioManager.STREAM_VOICE_CALL,
11025,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
**MediaRecorder.AudioEncoder.AMR_NB**,
buffersize,
AudioTrack.MODE_STREAM);
Kod działa poprawnie, ale zastanawiam się, czy to rzeczywiście kodowania audio, jak AMR_NB i, jeśli jest to nie jest to właściwy sposób?
byłem coraz przepełnienie bufora przy użyciu surowego PCM ale żaden z nich nie pojawił się od korzystania z nowego kodu z MediaRecorder.AudioEncoder.AMR_NB używany zamiast AudioFormat.PCM
Minęło dużo czasu, odkąd opublikowałeś swoje pytanie, ale może nadal jest interesujące dla kogoś ... Nie kodujesz do AMR_NB. Flagi są po prostu int-polami. MediaRecorder.AudioEncoder.AMR_NB to 0x01 ... tak samo jak AudioFormat.ENCODING_DEFAULT. Więc używasz domyślnego kodowania. – hacksteak25