From 848cbfebefab08cc49b0285155edb84463aed862 Mon Sep 17 00:00:00 2001
From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com>
Date: 星期三, 13 十一月 2024 17:19:53 +0800
Subject: [PATCH] 提交home项目所用可视对讲sdk

---
 HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java |   48 +++++++++++++++++++++++++++++++++++-------------
 1 files changed, 35 insertions(+), 13 deletions(-)

diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java
index efd4222..4410e57 100644
--- a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java
@@ -1,17 +1,17 @@
 package com.hdl.hdllinphonesdk;
 
+import static java.lang.Thread.sleep;
+
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.ServiceConnection;
-import android.os.Build;
 import android.os.IBinder;
 import android.util.Log;
 import android.view.TextureView;
 import android.widget.Toast;
 
 import com.hdl.hdllinphonesdk.activity.HDLLinphoneIntercomActivity;
-import com.hdl.hdllinphonesdk.activity.HDLLinphoneReverseCallActivity;
 import com.hdl.hdllinphonesdk.callback.OnHDLLinphoneCallListener;
 import com.hdl.hdllinphonesdk.callback.OnLPOpenDoorCallBack;
 import com.hdl.hdllinphonesdk.core.callback.PhoneCallback;
@@ -25,16 +25,13 @@
 import org.linphone.core.AuthInfo;
 import org.linphone.core.Call;
 import org.linphone.core.CallParams;
+import org.linphone.core.ChatMessage;
+import org.linphone.core.ChatRoom;
 import org.linphone.core.Core;
 import org.linphone.core.CoreException;
 import org.linphone.core.Factory;
 import org.linphone.core.ProxyConfig;
 import org.linphone.core.TransportType;
-
-import java.io.FileOutputStream;
-import java.io.InputStream;
-
-import static java.lang.Thread.sleep;
 
 /**
  * Created by jlchen on 2021/8/4.
@@ -64,6 +61,7 @@
     public static final String KEY_TITLE_NAME = "lpTitleName";
     public static final String KEY_SIP_ACCOUNT = "lpSipAccount";
     public static final String HDLLinphoneKitNAME = "HDLLinphoneKit";
+    public static final String KEY_CALL_ALL_REJECTION = "callAllRejection";
     private volatile static HDLLinphoneKit instance;
     private Context viewContext;
     private ServiceWaitThread mServiceWaitThread;
@@ -411,7 +409,7 @@
         mAccountCreator.setUsername(name);
         mAccountCreator.setDomain(host);
         mAccountCreator.setPassword(password);
-        mAccountCreator.setTransport(TransportType.Udp);
+        mAccountCreator.setTransport(TransportType.Tcp);
         ProxyConfig prxCfg = mAccountCreator.createProxyConfig();
 
         prxCfg.enableQualityReporting(false);
@@ -446,7 +444,7 @@
         prxCfg.setQualityReportingInterval(0);
         prxCfg.enableRegister(true);
         //鍏ㄨ閫氶渶瑕佽缃浐瀹氫唬鐞嗘湇鍔″櫒ip
-        prxCfg.setServerAddr("sip:139.159.157.75:46000;transport=udp");
+        prxCfg.setServerAddr("sip:" + domain + ";transport=udp");
 
         mLinphoneCore.addProxyConfig(prxCfg);//娣诲姞浠g悊閰嶇疆銆傚鏋滃惎鐢ㄤ簡娉ㄥ唽锛岃繖灏嗗紑濮嬪湪浠g悊涓婃敞鍐屻��
         mLinphoneCore.addAuthInfo(authInfo);//娣诲姞璁よ瘉淇℃伅鍒�,璇ヤ俊鎭墖娈靛皢鍦ㄦ墍鏈夐渶瑕佺殑SIP浜嬪姟涓娇鐢ㄨ韩浠介獙璇�
@@ -478,10 +476,12 @@
 
             if (addressToCall != null) {
                 call = core.inviteAddressWithParams(addressToCall, params);
-                // 璁剧疆澶栨斁
-                for (AudioDevice audioDevice : HDLLinphoneService.getCore().getAudioDevices()) {
-                    if (audioDevice.getType() == AudioDevice.Type.Speaker) {
-                        call.setOutputAudioDevice(audioDevice);
+                if (call != null) {
+                    // 璁剧疆澶栨斁
+                    for (AudioDevice audioDevice : HDLLinphoneService.getCore().getAudioDevices()) {
+                        if (audioDevice.getType() == AudioDevice.Type.Speaker) {
+                            call.setOutputAudioDevice(audioDevice);
+                        }
                     }
                 }
             }
@@ -555,6 +555,28 @@
         }
     }
 
+    public void sendSipMessage(String sipAccount, String sipAddress, String message) {
+        try {
+            Core mLinphoneCore = HDLLinphoneService.getCore();
+            if (mLinphoneCore == null) return;
+
+            //瀵规柟鐨剆ip鍦板潃,sipAddress:"sip:瀵规柟璐﹀彿@鏈嶅姟鍣ㄥ湴鍧�"
+            Address address = mLinphoneCore.interpretUrl("sip:" + sipAccount + "@" + sipAddress);
+
+            //寤虹珛瀵硅瘽
+            ChatRoom chatRoom = mLinphoneCore.getChatRoom(address);
+
+            //鍒涘缓娑堟伅
+            ChatMessage chatMessage = chatRoom.createMessageFromUtf8(message);
+
+            //鍙戦�佹秷鎭�
+            chatMessage.send();
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
     /**
      * 鏄惁闈欓煶
      *

--
Gitblit v1.8.0