【问题标题】:No audio using native android sip library使用本机 android sip 库没有音频
【发布时间】:2013-07-04 09:40:12
【问题描述】:

所以我使用的是本机 sip 库,我可以很好地连接和注册服务器。当我拨打电话时,它会点击一个将其路由到常规电话的代理,然后拨打输入的号码。它会正常连接,并且另一端的电话收到呼叫,但没有音频。我知道代理可以处理音频,因为有一个 iPhone 应用程序访问了同一台服务器并且它连接得很好。

这是我拨打电话的代码:

public void makeCall(String s) {

    SipAudioCall.Listener listener = new SipAudioCall.Listener() {

        @Override
        public void onCallEstablished(SipAudioCall call) {


                Log.d(TAG, "Call Established");
                call.startAudio();

                //I've tried with speaker mode on and off
                call.setSpeakerMode(true);


        }

        @Override
        public void onCallEnded(SipAudioCall call) {

            Log.d(TAG, "Call Ended");

        }
    };

    if (sipManager != null && sipProfile != null) {
        try {
            Log.d(TAG, "Make call");
            sipManager.makeAudioCall(sipProfile.getUriString(), app.sipToUri(s, sipProfile.getProxyAddress()), listener, 30);
        } catch (SipException e) {
            e.printStackTrace();
        }
    }

}

在我的清单中我有

<uses-permission android:name="android.permission.USE_SIP"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<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" />

我正在使用支持 sip 的平板电脑以及支持 sip 的 note 2 进行测试。

【问题讨论】:

  • 你写了所有你需要的permission&feature吗?您使用的是什么设备?
  • 信息已更新,感谢您的关注!
  • @adonal3 你能解释一下这个app.sipToUri(s, sipProfile.getProxyAddress())什么是应用程序类型和什么是S?
  • 请问您使用什么代理将其路由到普通电话

标签: android sip


【解决方案1】:

这可能是不必要的

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />

SIP相关

<uses-permission android:name="android.permission.CONFIGURE_SIP" />
<uses-feature android:name="android.software.sip" android:required="true" />
<uses-feature android:name="android.software.sip.voip" android:required="true" />

如果你使用扬声器,你需要这个

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

【讨论】:

  • 非常感谢!您还需要 感谢您让我走上正轨!
  • 你能给我解释一下app.sipToUri(s, sipProfile.getProxyAddress())什么是应用类型,什么是S?
  • 你还需要 ACCESS_NETWORK_STATE
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多