Sfoglia il codice sorgente

<长按面板按键停止广播>

weizhengliang 4 anni fa
parent
commit
03ad5f503d

+ 26 - 15
app/src/main/java/com/wdkl/callingbed/ui/CallingBedActivity.java

@@ -1476,22 +1476,28 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
                 }
                 if (buffer[5] == 0) { //呼叫护士键按住不动
                     LogUtil.d("WWW", "呼叫护士键==0");
+                    callPressTime = System.currentTimeMillis();
                 } else if (buffer[5] == 1) {//呼叫护士键短按松开
-                    CallingBedActivity.this.runOnUiThread(new Runnable() {
-                        public void run() {
-                            LogUtil.d("WWW", "呼叫护士键==1");
-                            long curTimeMills = System.currentTimeMillis();
-                            if (curTimeMills - localMillsCallNurse > 3000) {
-                                clickVNurse();
-                                localMillsCallNurse = curTimeMills;
-                                tvNurseTimeOut.setText("");
-                                //呼叫超时倒计时开启
-                                callTypeCallNurse = "1";
-                                //handsMICStatus = setHandsMIC(serialPortUtil, false);//点击了外部按键就将手柄MIC关掉
-                                handsMICStatus = setHandsMIC(serialPortUtil, true);//面板mic有回音,需要禁掉
+                    if (System.currentTimeMillis() - callPressTime > 3000) {
+                        //关闭广播
+                        anyKeyCloseBroadcast();
+                    } else {
+                        CallingBedActivity.this.runOnUiThread(new Runnable() {
+                            public void run() {
+                                LogUtil.d("WWW", "呼叫护士键==1");
+                                long curTimeMills = System.currentTimeMillis();
+                                if (curTimeMills - localMillsCallNurse > 3000) {
+                                    clickVNurse();
+                                    localMillsCallNurse = curTimeMills;
+                                    tvNurseTimeOut.setText("");
+                                    //呼叫超时倒计时开启
+                                    callTypeCallNurse = "1";
+                                    //handsMICStatus = setHandsMIC(serialPortUtil, false);//点击了外部按键就将手柄MIC关掉
+                                    handsMICStatus = setHandsMIC(serialPortUtil, true);//面板mic有回音,需要禁掉
+                                }
                             }
-                        }
-                    });
+                        });
+                    }
                 } else if (buffer[5] == 2) {//呼叫护士键长按松开
                     //关闭广播
                     anyKeyCloseBroadcast();
@@ -1564,6 +1570,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
 
     //---------------------------------------------串口点击事件监听----------------------------------------------------------
 
+    private long callPressTime = 0; //面板呼叫按键按下的时间
     private long localMillsCallNurse = 0;//呼叫护士拨打的时刻
     private String callTypeCallNurse = "";//1:外部物理按键呼叫;2:手柄按钮呼叫
 
@@ -2235,7 +2242,11 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
 
     private void resumeBroadcastVolume() {
         if (MediaPlayerManger.getInstance().isPlay()) {
-            float voice = Float.parseFloat(SharedPreferencesUtil.getStringSp(this, "SetUpBroadcastVoice", "voice"));
+            float voice = 0.8f;
+            if (!SharedPreferencesUtil.getStringSp(this, "SetUpBroadcastVoice", "voice").equals("")) {
+                voice = Float.parseFloat(SharedPreferencesUtil.getStringSp(this, "SetUpBroadcastVoice", "voice"));
+                MediaPlayerManger.getInstance().setVolume(voice);
+            }
             MediaPlayerManger.getInstance().setVolume(voice);
         }
     }