3

ユーザー同士がリアルタイムで音声チャットできるアプリケーションを開発したいと考えています。これを実装するために rtpstream を使用しています。以下は私のコードです。アプリケーションをテストするために 2 台の電話を使用しています。オーディオ ストリームへのポート番号は、実行時にランダムに割り当てられます。これは、接続を確立するために実行時に電話 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);
4

2 に答える 2

2

これを行う正しい方法は、最初に RTP ストリームをセットアップしてから、ストリームがリッスンしているポート番号を取得し、SIP INVITE の SDP 部分でそのポートを送信することです。この例を見てください https://github.com/Mobicents/restcomm-android-sdk/tree/master/Examples/JAIN%20SIP

于 2014-10-28T18:31:54.057 に答える
0

私は同じことを達成しようとしています.1つの可能性は、user1が自分のIPをuser2と共有することです. どちらのユーザーも、 audiogroup と audiostream を作成できます。オーディオ ストリームは、他のユーザーのオーディオ グループに参加します。

于 2013-03-21T07:09:03.617 に答える