Procházet zdrojové kódy

不带自动接听

master^2
chenbin před 3 roky
rodič
revize
3b28584e4c

+ 9
- 5
app/src/main/java/com/tianrun/sipcall/SipEngine.java Zobrazit soubor

@@ -336,14 +336,18 @@ public class SipEngine implements BluetelInterface {
336 336
      *
337 337
      * @throws Exception
338 338
      */
339
-    public void PlaydefaultCallMediaPlayer(Context context) {
339
+    public Ringtone PlaydefaultCallMediaPlayer(Context context) {
340 340
         Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
341 341
         Ringtone r = RingtoneManager.getRingtone(context, notification);
342 342
         r.play();
343
+        return r;
343 344
     }
344
-    public void StopdefaultCallMediaPlayer(Context context)  {
345
-        Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
346
-        Ringtone r = RingtoneManager.getRingtone(context, notification);
347
-        r.stop();
345
+    public void StopdefaultCallMediaPlayer(Ringtone r)  {
346
+//        Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
347
+//        Ringtone r = RingtoneManager.getRingtone(context, notification);
348
+//        r.stop();
349
+        if(r != null) {
350
+            r.stop();
351
+        }
348 352
     }
349 353
 }

+ 9
- 4
app/src/main/java/com/tianrun/sipcall/call/InCallActivity.java Zobrazit soubor

@@ -6,6 +6,7 @@ import android.app.Activity;
6 6
 import android.app.KeyguardManager;
7 7
 import android.content.Context;
8 8
 import android.content.Intent;
9
+import android.media.Ringtone;
9 10
 import android.os.Bundle;
10 11
 import android.os.Handler;
11 12
 import android.os.Message;
@@ -63,6 +64,7 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
63 64
     private  boolean selfCall = false;
64 65
     private boolean VIDEOSTATE = false;
65 66
     public static Intent incallIntent;
67
+    private Ringtone ringtone;
66 68
 
67 69
     public String[] screenTyps = {"经典模式", "均分模式", "远程全屏", "本地全屏"};
68 70
 
@@ -186,6 +188,7 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
186 188
         super.onResume();
187 189
         if (callstate.equals("来电")) {
188 190
             incall_answer.setVisibility(View.VISIBLE);
191
+            ringtone = SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
189 192
         } else {
190 193
             incall_answer.setVisibility(View.GONE);
191 194
         }
@@ -193,9 +196,8 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
193 196
         if (incall_answer.getVisibility() == View.VISIBLE && selfCall) {
194 197
             incall_answer.setVisibility(View.GONE);
195 198
             SipEngine.getInstance().answer(callid);
196
-            SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
197
-        } else {
198
-            SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
199
+            SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
200
+            ringtone = null;
199 201
         }
200 202
 
201 203
     }
@@ -210,6 +212,8 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
210 212
     protected void onDestroy() {
211 213
         stopVideoStream(true);
212 214
         super.onDestroy();
215
+        SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
216
+        ringtone = null;
213 217
         SipEngine.getInstance().hangup(callid);
214 218
         handler_CallActivity = null;
215 219
         if (wakeLock != null) {
@@ -336,7 +340,8 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
336 340
             case R.id.incall_answer:
337 341
                 incall_answer.setVisibility(View.GONE);
338 342
                 SipEngine.getInstance().answer(callid);
339
-                SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
343
+                SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
344
+                ringtone = null;
340 345
                 break;
341 346
         }
342 347
     }

+ 10
- 4
app/src/main/java/com/tianrun/sipcall/call/InCallMeetingActivity.java Zobrazit soubor

@@ -7,6 +7,7 @@ import android.content.Context;
7 7
 import android.content.DialogInterface;
8 8
 import android.content.Intent;
9 9
 import android.graphics.Color;
10
+import android.media.Ringtone;
10 11
 import android.os.Bundle;
11 12
 import android.os.Handler;
12 13
 import android.os.Message;
@@ -85,6 +86,8 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
85 86
     private  boolean selfCall = false;
86 87
     private boolean VIDEOSTATE = false;
87 88
     public static Intent incallIntent;
89
+    private Ringtone ringtone;
90
+
88 91
 
89 92
     private  boolean isinited = false;
90 93
 
@@ -512,6 +515,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
512 515
             incall_answer.setVisibility(View.VISIBLE);
513 516
             incall_mute.setVisibility(View.GONE);
514 517
             incall_muteVideo.setVisibility(View.GONE);
518
+            ringtone = SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
515 519
         } else {
516 520
             incall_answer.setVisibility(View.GONE);
517 521
             if (DBUser.mySelf != null && DBUser.mySelf.isManager) {
@@ -527,10 +531,9 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
527 531
         //控件显示号码,来电,去电,通话中...
528 532
         if (incall_answer.getVisibility() == View.VISIBLE && selfCall) {
529 533
             incall_answer.setVisibility(View.GONE);
530
-            SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
531 534
             SipEngine.getInstance().answer(callid);
532
-        } else {
533
-            SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
535
+            SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
536
+            ringtone = null;
534 537
         }
535 538
 
536 539
     }
@@ -545,6 +548,8 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
545 548
     protected void onDestroy() {
546 549
         stopVideoStream(true);
547 550
         super.onDestroy();
551
+        SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
552
+        ringtone = null;
548 553
         SipEngine.getInstance().hangup(callid);
549 554
         handler_CallActivity.removeCallbacks(getMemberRunner);
550 555
         handler_CallActivity = null;
@@ -690,7 +695,8 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
690 695
                     incall_mute.setVisibility(View.VISIBLE);
691 696
                 }
692 697
                 SipEngine.getInstance().answer(callid);
693
-                SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
698
+                SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
699
+                ringtone = null;
694 700
                 break;
695 701
             case R.id.incall_mute:
696 702
                 muteAll(v);

Načítá se…
Zrušit
Uložit