/ / zrušenie ozveny android s čistým java - java, android, android-ndk, aec, echo-zrušenie

echo zrušenie android s čistou java - java, android, android-ndk, aec, echo-zrušenie

Nahrámam hlas a hrať synchrónne v 16bitových pcmvyrovnávacia pamäť v úrovni API 11 a používať čistý java na zrušenie ozvena Pokúsil som sa mnohým spôsobom, ako je webrtc v jni s android ndk, ale neúspešné pre mňa ďakujem za akúkoľvek myšlienku.

AudioRecord  recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, SAMPLE_RATE, AudioFormat.CHANNEL_IN_MONO,  AudioFormat.ENCODING_PCM_16BIT, audioBufferSize);
AudioTrack player = new AudioTrack(AudioManager.STREAM_MUSIC, SAMPLE_RATE, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, audioBufferSize, AudioTrack.MODE_STREAM);

recorder.startRecording();
player.play();

short [] buffer = new short[1024];
short [] buffer_tmp = new short[1024];
MobileAec aec = new MobileAec();

while (at_isRun)
{
recorder.read(buffer, 0, buffer.length);
aec.doAEC(buffer, buffer_tmp)// set AEC to reference of buffer.
player.write(buffer, 0, buffer.length);

for(int i=0; i<buffer.length; i++)
buffer_tmp[i] = buffer[i];
}

odpovede:

-1 pre odpoveď č. 1

Nie je jasné, aký je účel vašej žiadosti. Zaznamenávanie zvuku a ich okamžité vykreslenie spôsobí vykrvovanie, ktoré má dramatický vplyv na AEC. Môžete si prečítať o niečom viac vyhrade a AEC, Rozpracujte, prosím, na účely vášho projektu a na čo sa práve snažíte dosiahnuť.