마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

AudioRecord, AudioTrack 딜레이 질문

+1 추천
AudioRecord와 AudioTrack을 실시간으로 수행하는 어플을 만드는 중입니다.

제가 말하고있는 동시에 출력이 되는 건데요,

약간의 딜레이가 발생합니다.

바로,,출력하는데도 말이죠ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

이 딜레이를 없앨 수 있는 방법을 아시는지요!!

녹음후 FFt, IFFT를 거치는 탓에 딜레이가 발생하는 줄 알았는데,

FFT, IFFT를 빼도 딜레이가 생기네요 ㅠㅠ 알려주시면 감사하겠습니다!!
타라가 (320 포인트) 님이 2015년 3월 4일 질문

2개의 답변

+2 추천
"녹음 -> 버퍼에 일단 저장 -> 출력" 의 구조가 됩니다.

44K 녹음시 4K개 버퍼를 사용하면 0.1초 지연이 생기겠죠.

버퍼가 0.4K개 라면 0.01초.. 버퍼 크기를 줄이면 되는데, getMinBufferSize() 이하로 줄이니까 오류가 나더라고요.

따라서, AudioRecord 로는 불가능하다고 생각합니다.

버퍼를 충분히 작게 만들 수 있다고 하더라도, 버퍼 크기에 반비례해서 프로세서 부하가 증가하기 때문에 소리 끊김이 발생할 겁니다.

H/W 적인 지원이 없다면 딜레이를 없애는 것은 어렵지 않을까요.
JINASYS (5,630 포인트) 님이 2015년 3월 4일 답변
답변 감사합니다!! 그럼 이런 어플 제작을 위해 AudioRecord 말고 지원되는 기능이 있나요?
0 추천
안드로이드 오디오 커널 제작진도 이것때문에
google io 때 얘기했었는데요
최신폰 openal 로 low latency 가 가능하게
만들수있습니다
mamondebaltob (32,750 포인트) 님이 2015년 3월 4일 답변
...