Browse Source

不带自动接听

master^2
chenbin 3 years ago
parent
commit
3b28584e4c

+ 9
- 5
app/src/main/java/com/tianrun/sipcall/SipEngine.java View File

336
      *
336
      *
337
      * @throws Exception
337
      * @throws Exception
338
      */
338
      */
339
-    public void PlaydefaultCallMediaPlayer(Context context) {
339
+    public Ringtone PlaydefaultCallMediaPlayer(Context context) {
340
         Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
340
         Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
341
         Ringtone r = RingtoneManager.getRingtone(context, notification);
341
         Ringtone r = RingtoneManager.getRingtone(context, notification);
342
         r.play();
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 View File

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

+ 10
- 4
app/src/main/java/com/tianrun/sipcall/call/InCallMeetingActivity.java View File

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

Loading…
Cancel
Save