Java Android SIP调用。startAudio()不工作

Java Android SIP调用。startAudio()不工作,java,android,sip,voip,Java,Android,Sip,Voip,我正在为Android 2.3制作一个VoIP程序,所以没有RTP API,但它也应该发送声音。当我打电话给我的Android客户端时,一切都很好。然而,当我从Android客户端发起呼叫时,SIP通信工作,但根本没有声音。 有人能帮我吗?我错过了什么 if (this.btnCall.isPressed()) { call = manager.makeAudioCall(profile.getUriString(), cdpa, listener, 30); call.startAud

我正在为Android 2.3制作一个VoIP程序,所以没有RTP API,但它也应该发送声音。当我打电话给我的Android客户端时,一切都很好。然而,当我从Android客户端发起呼叫时,SIP通信工作,但根本没有声音。 有人能帮我吗?我错过了什么

if (this.btnCall.isPressed()) {
  call = manager.makeAudioCall(profile.getUriString(), cdpa, listener, 30);
  call.startAudio();
}

您应该等到呼叫建立。在侦听器中使用以下方法:

@Override
public void onCallEstablished(SipAudioCall call) {
   call.startAudio();
   if (call.isMuted()) {
      call.toggleMute();
   }
}

我也一样

我解决了将此添加到清单的问题

<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.USE_SIP"/>
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<uses-feature android:name="android.hardware.sip.voip" android:required="true" />
<uses-feature android:name="android.hardware.wifi" android:required="true" />
<uses-feature android:name="android.hardware.microphone" android:required="true" />

<receiver android:name=".IncomingCallReceiver" android:label="Call Receiver" />