我正在构建一个 android 应用程序,它应该能够与另一个基于 libjingle 构建的客户端进行音频通信。
我要做的第一件事是在“另一个”客户端和我的 android 应用程序之间建立一个调用。我们使用 XMPP 作为信令服务。
所以在这之后:
peerConnectiobObj.setRemoteDescription(sdp)
我得到了successcallback(所以我猜远程描述没问题?)然后根据我认为我已经找到了我创建答案的时间。
@Override
public void onCreateSuccess(SessionDescription sessionDescription)
{
peerConnectiobObj.createAnswer(theSDPobserver, MediaConstraints);
}
但我最终在错误回调:(
@Override
public void onSetFailure(String s)
{
}
哪里告诉我
Failed to set local answer sdp: Session error code: ERROR_CONTENT. Session error description: Failed to setup SRTP filter..
我感到迷茫,我什至不知道那是什么意思。如果有人能指出我正确的方向,我会成为一个更快乐的开发者。
实际上,当涉及到这一点时,我一般感觉有点失落.. :)
编辑:
这就是我到达 OnSetFailure(string s) 时本地 SDP 的样子
v=0
o=- 8493684831531207397 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio
a=msid-semantic: WMS
m=audio 1 RTP/SAVPF 0
c=IN IP4 0.0.0.0
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:kOkIsQjMk2B0a9U4
a=ice-pwd:tofHiOCYA8vxc6RhGijvAJhD
a=mid:audio
a=recvonly
a=rtcp-mux
a=crypto:0 AES_CM_128_HMAC_SHA1_80 inline:CuhhoTjgAvZWACKU0enZ6JkBOOtm1XcILVU1kgha
a=rtpmap:0 PCMU/8000
编辑:我更新了我的 libjingle.jar 和 .so,用当前的主干重新编译。不是它可以成功createAnswer()
但是当我这样做时
setLocalDescription()
我得到 public void onSetFailure(String s) CB
当我到达那个状态时,这是我当地的 SDP:
v=0
o=- 5609339699751423572 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio
a=msid-semantic: WMS fAy0FNrYIDVfeRwX5X0IK5TOCVTNJOXt4Cdb
m=audio 1 RTP/SAVPF 0
c=IN IP4 0.0.0.0
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:HvkTUFYLQHFQYV1a
a=ice-pwd:OtBToOqg56IROXkI1zpljupo
a=mid:audio
a=sendrecv
a=rtcp-mux
a=crypto:0 AES_CM_128_HMAC_SHA1_80 inline:hMJUMLPuM1zYuIaUCEjr46aMsMwfc+MHjBM6PDES
a=rtpmap:0 PCMU/8000
a=ssrc:4099416672 cname:DO5g7daVh6dqHm/E
a=ssrc:4099416672 msid:fAy0FNrYIDVfeRwX5X0IK5TOCVTNJOXt4Cdb fAy0FNrYIDVfeRwX5X0IK5TOCVTNJOXt4Cdb00
a=ssrc:4099416672 mslabel:fAy0FNrYIDVfeRwX5X0IK5TOCVTNJOXt4Cdb
a=ssrc:4099416672 label:fAy0FNrYIDVfeRwX5X0IK5TOCVTNJOXt4Cdb00
有谁知道它有什么问题?:(