안녕하세요.
프로그램 공부를 하고 있는 초보 학생입니다.
안드로이드 폰에서 폰으로 음성 전달을 하는 프로그램을 만들고 있는데요.
현재는 AudioRecord, AudioTrack, Socket, Stream을 사용해서
클라이언트 폰에서 녹음을 하고, 이 녹음 파일을 소켓을 사용하여
서버 폰으로 전송하여 서버 폰에서 플레이 되게끔 구현했습니다.
그러던 중 문듯 우리가 사용하는 지니나 멜론같은 음악플레이어의 경우에는 서버에는 음악 파일이 있더라도
클라이언트의 공간에 파일을 전송시켜 듣는 방식이 아니라 실시간 스트리밍을 사용하여
클라이언트 측에 파일이 저장되지 않아도 바로 노래를 들을 수 있게 한다는 것이 생각났습니다.
이와 같은 방식으로 구현하기 위해서는 서버와 클라이언트에서 어떤 클래스를 어떻게 사용해야하는지
혹시 알고 계신다면 짧은 글이라도 남겨주시기 부탁드립니다.
제가 현재 구현한 프로그램은 클라이언트 폰의 마이크에서 소리를 받고, 파일로 저장하고, 소켓으로 서버에 전송하고, 전송받은 파일을 저장하고, 저장한 파일을 플레이하기에 시간차로 인한 스레드 간의 간섭, 변수가 초기화되지 않았는데 스레드가 먼저 실행되는 등 문제점이 많이 발생합니다.
더불어 이와 같은 문제점에 대해 좋은 방법을 가지고 계시거나, 다른 획기적인 아이디어가 있으신 분들께서도 짧게나마 댓글로 알려주시기를 부탁드립니다.
이상, 프로그래밍 입문자가 여러 고수분들께 배움을 요청합니다.