PJSUA / PJSIP 用の Java ライブラリを使用しており、応答した通話の AudioMedia を取得しようとしていますが、機能していません。私はC++のドキュメント(呼び出しに応答するためのJavaドキュメントはありません)に従いました。これにより、次の実装に至りました。
public void onCallMediaState(OnCallMediaStateParam param) {
CallInfo ci = this.getInfo();
for(int i = 0; i < ci.getMedia().size(); i++) {
if(ci.getMedia().get(i).getType() == pjmedia_type.PJMEDIA_TYPE_AUDIO) {
AudioMedia aum = (AudioMedia) this.getMedia(i);
}
}
}
最初の部分は機能し、コール情報で PJMEDIA_TYPE_AUDIO タイプのメディアを見つけます。そのタイプを確認すると、そのタイプthis.getMedia(i)
も PJMEDIA_TYPE_AUDIO です。ただし、型にキャストしようとすると、キャストにAudioMedia
失敗します。
SIP セットアップの残りの部分は機能していると思います。番号に電話をかけると、pjsua が着信を報告して応答しますが、AudioMedia で音声を送受信することができません。
ドキュメンテーションは C++ 用ですが、これまでのところ、この部分を除いて Java の場合もまったく同じです。参照はこちら. 私は何を間違っていますか?