我想开发一个应用程序,使用户能够进行实时音频聊天。我正在使用rtpstream来实现这一点。下面是我的代码。我用两部手机来测试我的应用程序。音频流的端口号在运行时随机分配。这意味着我必须在运行时将端口号从电话1发送到电话2以建立连接。这里的问题是通信只是单方面的,即电话1可以与电话2通话,但听不到电话1的答复。我该怎么做才能做到两面性呢?还有什么方法可以手动将端口号分配给AudioStream吗?任何帮助都将不胜感激。
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);
最佳答案
正确的方法是首先设置rtp流,然后获取流正在侦听的端口号,然后在sip invite的sdp部分发送该端口。看看这个例子https://github.com/Mobicents/restcomm-android-sdk/tree/master/Examples/JAIN%20SIP