From 98340bb2bbd3b0c8b877c7d3314023c40f942c02 Mon Sep 17 00:00:00 2001
From: 562935844@qq.com
Date: 星期二, 05 九月 2023 15:59:55 +0800
Subject: [PATCH] 视频监控加enablevideo设置

---
 HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneMonitorActivity.java |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneMonitorActivity.java b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneMonitorActivity.java
index 8f32b3e..3863ab2 100644
--- a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneMonitorActivity.java
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneMonitorActivity.java
@@ -30,6 +30,7 @@
 import com.hdl.hdllinphonesdk.utils.HDLLog;
 
 import org.linphone.core.Call;
+import org.linphone.core.CallParams;
 import org.linphone.core.Core;
 import org.linphone.core.CoreListenerStub;
 
@@ -56,6 +57,7 @@
 
     //Linphone
     private CoreListenerStub mCoreListener;
+    private boolean enableVideo = false;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -235,7 +237,7 @@
      */
     private void onClickUnlock() {
         try {
-            AlertDialog.Builder builder = new AlertDialog.Builder(this,R.style.CustomAlertDialog);
+            AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.CustomAlertDialog);
             builder.setTitle(R.string.lp_tipStr);
             builder.setMessage(R.string.tip_confirm_unlock);
 
@@ -261,8 +263,8 @@
 
             AlertDialog dialog = builder.create();
             dialog.show();
-        }catch (Exception exception){
-            Log.e(TAG,  exception.getMessage());
+        } catch (Exception exception) {
+            Log.e(TAG, exception.getMessage());
         }
 
     }
@@ -333,8 +335,16 @@
                     // Once call is finished (end state), terminate the activity
                     // We also check for released state (called a few seconds later) just in case
                     // we missed the first one
+                    enableVideo = false;
                     showToast(getString(R.string.lp_endMonitoringStr));
                     finish();
+                } else if (state == Call.State.StreamsRunning) {
+                    if (HDLLinphoneKit.getInstance().getIntercomeType().equals(HDLLinphoneKit.INTER_PHONE_TYPE_HDL)) {
+                        if (!enableVideo) {
+                            enableVideo(core, call);
+                            enableVideo = true;
+                        }
+                    }
                 }
             }
         };
@@ -350,6 +360,20 @@
         }
     }
 
+    void enableVideo(Core core, Call call) {
+//        Call currentCall = HDLLinphoneService.getCore().getCurrentCall();
+
+        CallParams params = call.getCurrentParams();
+        if (params == null) {
+            params = core.createCallParams(call);
+        }
+        params.enableVideo(true);
+        params.enableLowBandwidth(false);
+        params.setAudioBandwidthLimit(0); // disable limitation
+
+        call.update(params);
+    }
+
     /**
      * onDestroyLinphone
      */

--
Gitblit v1.8.0