Explorar o código

兼容sip广播

weizhengliang hai 10 meses
pai
achega
c8922f8bff

+ 21 - 14
conversion_box/src/main/java/com/wdkl/app/ncs/conversion_box/activity/MainActivity.kt

@@ -260,7 +260,10 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
                 }
 
                 override fun callReleased(call: Call) {
-                    //
+                    if (broadcastOn) {
+                        broadcastOn = false
+                        stopBroadcast(true)
+                    }
                 }
 
                 override fun error(string: String) {
@@ -1901,17 +1904,19 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
         }
         playing = true
 
-        //初始化 engine
-        WebRTCEngine.getInstance().init(true, this)
-        //初始化 janusClient
-        janusClient = JanusClient(JanusConstant.JANUS_URL, Constant.SIP_ID.toBigInteger())
-        //初始化 StreamingCallback
-        val streamingCallback = StreamingCallback(janusClient, Constant.SIP_ID.toBigInteger(), broadcastChannelId.toBigInteger())
-        janusClient?.setJanusCallback(streamingCallback)
-        janusClient?.connect()
+        if (!SettingConfig.getSipEnabled(activity)) {
+            //初始化 engine
+            WebRTCEngine.getInstance().init(true, this)
+            //初始化 janusClient
+            janusClient = JanusClient(JanusConstant.JANUS_URL, Constant.SIP_ID.toBigInteger())
+            //初始化 StreamingCallback
+            val streamingCallback = StreamingCallback(janusClient, Constant.SIP_ID.toBigInteger(), broadcastChannelId.toBigInteger())
+            janusClient?.setJanusCallback(streamingCallback)
+            janusClient?.connect()
 
-        //VoiceManagerUtil.setCallVoice(activity, 20)
-        //WebRTCEngine.getInstance().muteAudio(true)
+            //VoiceManagerUtil.setCallVoice(activity, 20)
+            //WebRTCEngine.getInstance().muteAudio(true)
+        }
 
         SerialPortHelper.openBroadcast()
 
@@ -1932,9 +1937,11 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
             tv_broadcast_state.text = getString(R.string.broadcast_status) + getString(R.string.broadcast_stop)
         }
 
-        if (janusClient != null) {
-            janusClient?.destroySession()
-            janusClient = null
+        if (!SettingConfig.getSipEnabled(activity)) {
+            if (janusClient != null) {
+                janusClient?.destroySession()
+                janusClient = null
+            }
         }
     }
 

+ 1 - 0
conversion_box/src/main/java/com/wdkl/app/ncs/conversion_box/sip/core/LinphoneManager.kt

@@ -448,6 +448,7 @@ class LinphoneManager private constructor(private val context: Context) {
             //Log.i("sipCall", ">>>>>>>>>>>>>>>>>1 " + pt.getMimeType() + " = " + pt.enabled());
             if (pt.mimeType == "PCMU"
                 || pt.mimeType == "opus"
+                || pt.mimeType == "G722"
                 //|| pt.getMimeType().equals("PCMA")
                 //|| pt.getMimeType().equals("PUMA")
                 //|| pt.getMimeType().equals("GSM")