2013-03-20 1 views
3

사용자가 서로 실시간으로 음성 채팅을 할 수있는 응용 프로그램을 개발하고 싶습니다. 이 구현하려면 rtpstream 사용하고 있습니다. 다음은 내 코드입니다. 내 응용 프로그램을 테스트하기 위해 두 개의 전화를 사용하고 있습니다. 오디오 스트림에 대한 포트 번호는 런타임에 임의로 할당됩니다. 이것은 연결을 설정하기 위해 실행 시간에 전화 1에서 전화 2로 포트 번호를 보내야한다는 것을 의미합니다. 여기에서의 문제는 통신이 일방적 인 즉 전화 1이 전화 2와 통화 할 수 있지만 전화 1의 응답을들을 수 없다는 것입니다 . 그것을 양면으로 만들려면 어떻게해야합니까? 또한 수동으로 audiostream에 포트 번호를 지정하는 방법이 있습니까? 어떤 도움을 주시면 감사하겠습니다.Android : rtpstream을 사용한 오디오 통화

audioGroup = new AudioGroup(); 
audioGroup.setMode(AudioGroup.MODE_NORMAL); 
audioStream = new AudioStream(InetAddress.getByAddress(MyIP)); 
PORT = audioStream.getLocalPort(); 
audioStream.setCodec(AudioCodec.PCMU); 
audioStream.setMode(RtpStream.MODE_NORMAL); 
audioStream.associate(InetAddress.getByAddress(ReceiverIP), PORT); 
audioStream.join(audioGroup); 
AudioManager Audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);  
Audio.setMode(AudioManager.MODE_IN_COMMUNICATION); 
+0

나는 당신과 똑같은 문제가있다. 나는 양국 간 의사 소통을 어떻게 고칠 수 있을지 모른다. –

답변

0

나는 이것을 달성하려고 노력하고있다. 하나의 가능성은 user1이 그의 ip를 user2와 공유하는 것이다. 두 사용자 모두 audiogroup 및 audiostream을 만들 수 있습니다. 오디오 스트림이 다른 사용자의 오디오 그룹에 조인됩니다.

2

올바른 방법은 먼저 RTP 스트림을 설정 한 다음 스트림이 수신 대기중인 포트 번호를 얻은 다음 SIP INVITE의 SDP 부분에서 해당 포트를 전송하는 것입니다. 이 예를 보자. https://github.com/Mobicents/restcomm-android-sdk/tree/master/Examples/JAIN%20SIP

+0

링크가 끊어졌습니다. 404, 대신 https://github.com/RestComm/restcomm-android-sdk/를 사용하십시오. – Amos