AudioTrack.write 호출 시 AudioSink를 통해 출력 디바이스에 write 합니다. 출력 디바이스가 한개다 보니, 여러개 출력시 짦은 시간에 번갈아가며 write 하는 방식으로 소리가 출력됩니다.
예를 들어 설명 드리면 첫번째 AudioTrack은 1만 적고 두번째는 2, 세번째는 3이라면 실제론 123123 같은 순으로 번갈아 출력하지만 사람 귀로 듣는데는 한개로 합쳐서 나오는 것 같이 들립니다.(내부적으로 지터 버퍼 같은 것을 둬서 합칠 경우도 있긴 합니다.)
PCM 특성상, 샘플링레이트, 채널카운트, 채널당 비트(ex. ENCODING_PCM_16BIT) 값이 전부 동일하다면,
1+2+3 로 merge 한 6을 ( 더한 값이 peak 값을 벗어날 경우 peak 값으로 맞춰줘야 잡음이 안납니다.)
AudioTrack에 write 하면 한 소리로 출력이 가능하긴 합니다.
https://stackoverflow.com/questions/5126169/programmatically-merging-two-pieces-of-audio/5126209#5126209