2012-05-17 2 views
1

я пытаюсь отменить эхо, но может не в состоянии отменить, даже используя очень простой размер example.Frame 160 Плитка Длина 100Облицовочные проблема для отмены акустического эха, используя Speex в Android

audioRecord.read(mic,0,mic.length); 
audioData = speex.encode(mic,0,mic.length); 
speakerData=speex.decode(audioData); 
audioTrack.write(speakerData, 0, speakerData.length); 
speex.DoAEC(mic,speakerData,outref); 
fos.write(outref); 

почему выше примере кода не отменял эхо, я пропустил что-нибудь? Когда я играю в файл, эхо не удалялось.

также нижеследующий простой пример не работал еще эхо есть.

short[] buf=new short[160]; 
audioRecord.read(buf,0,buf.length); 
if(sData==null){ 
sData=buf; 
} 
short[] outref=new short[160]; 

speex.cancelecho(buf,sData,outref); 
audioTrack.write(outref, 0, outref.length); 
sData=buf; 
+0

У вас есть возможность сделать работу Speex AEC? Я также сталкиваюсь с аналогичной проблемой. –

ответ

1

Вы должны понять требования к КАЭ работать - все документированные в документации Speex - и знать, как отлаживать поток для достижения этой цели.

Вы можете получить больше указателей от моего ответа здесь: Android Speex echo cancellation problems

Кроме того, у меня есть проект, который делает выборку обратной петли из Speex AEC - охват видео здесь: http://www.youtube.com/watch?v=e1-HwidHMy0

Это целый проект поэтому не стоит пытаться сжать его на ответ, но указатели, которые я дал, должны дать вам начало - и видео докажет, что это возможно.

+0

Спасибо за ссылку. Я постараюсь и вернусь к вам. –

+0

эй, пожалуйста, разрешите мою проблему ... я застрял в течение почти 1 недели ... и я наклоняю тюк, чтобы найти какое-либо решение .. есть ссылка http://stackoverflow.com/questions/23010325/android- эхо-дезактивация-через-Speex-библиотека –

Смежные вопросы