기본 아이디어는 하나의 장치에서 오디오를 녹음하고이를 사용하여 Wlan을 통해 소켓을 사용하는 다른 장치로 보낼 수있는 응용 프로그램을 만드는 것입니다. 한마디로 Lan 음성 채팅 프로그램.Android : 오디오 트랙과 소켓을 사용하여 오디오를 손쉽게 스트리밍
AudioRecord 개체를 사용하여 마이크에서 라이브 오디오를 레코딩 한 다음 녹음 된 데이터를 바이트 배열로 읽은 다음 바이트 배열을 TCP 소켓에 씁니다. 수신 장치는 그 바이트 배열을 소켓에서 읽어 AudioTrack 객체의 버퍼에 씁니다.
그 추천
오디오 레코드 -> 바이트 배열 -> 소켓 ---> LAN ---> 소켓 -> 바이트 배열 - 프로세스가 사용 동안 반복> AudioTrack
루프.
오디오가 재생되고 있지만 프레임간에 지연이 있습니다. 내가 헬로 (Hello)라고 말할 때, 수신기는 He-ll-O을 듣는다. 오디오는 완전하지만 버퍼 블록 사이에 지연이 있습니다.
지금까지 내가 지연이 란 전송
에 지연 예정이다 알고 어떻게 그것을 개선합니까? skype 및 gtalk와 같은 상용 온라인 채팅 응용 프로그램과 같이 어떤 접근 방식을 사용해야합니까?
그러나 도착한 것보다 더 빠른 속도로 오디오가 공급되기 때문에 버퍼가 줄어들지 않습니다. – Allahjane
버퍼가 늦게 표시되면 버퍼가 줄어 듭니다. 그러나 늦게 도착한 사람들이 마침내 도착하면 다시 채워야합니다. 고려해야 할 한 가지는 버퍼 제출 시간을 네트워크에 맞추고 녹음 된 오디오의 샘플 속도를 조정하는 것입니다. 고려해야 할 또 다른 사항은 버퍼를 순서에 맞출 수 없다는 것입니다. 따라서 오디오를 수신기로 재생하기 전에 지연 시간을 충분히 고려해야합니다. – Ehz