不带自动接听

This commit is contained in:
chenbin
2021-05-06 17:28:15 +08:00
parent de8bf0b61c
commit 3b28584e4c
3 changed files with 28 additions and 13 deletions

View File

@@ -336,14 +336,18 @@ public class SipEngine implements BluetelInterface {
* *
* @throws Exception * @throws Exception
*/ */
public void PlaydefaultCallMediaPlayer(Context context) { public Ringtone PlaydefaultCallMediaPlayer(Context context) {
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
Ringtone r = RingtoneManager.getRingtone(context, notification); Ringtone r = RingtoneManager.getRingtone(context, notification);
r.play(); r.play();
return r;
} }
public void StopdefaultCallMediaPlayer(Context context) { public void StopdefaultCallMediaPlayer(Ringtone r) {
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); // Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
Ringtone r = RingtoneManager.getRingtone(context, notification); // Ringtone r = RingtoneManager.getRingtone(context, notification);
r.stop(); // r.stop();
if(r != null) {
r.stop();
}
} }
} }

View File

@@ -6,6 +6,7 @@ import android.app.Activity;
import android.app.KeyguardManager; import android.app.KeyguardManager;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.media.Ringtone;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Message; import android.os.Message;
@@ -63,6 +64,7 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
private boolean selfCall = false; private boolean selfCall = false;
private boolean VIDEOSTATE = false; private boolean VIDEOSTATE = false;
public static Intent incallIntent; public static Intent incallIntent;
private Ringtone ringtone;
public String[] screenTyps = {"经典模式", "均分模式", "远程全屏", "本地全屏"}; public String[] screenTyps = {"经典模式", "均分模式", "远程全屏", "本地全屏"};
@@ -186,6 +188,7 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
super.onResume(); super.onResume();
if (callstate.equals("来电")) { if (callstate.equals("来电")) {
incall_answer.setVisibility(View.VISIBLE); incall_answer.setVisibility(View.VISIBLE);
ringtone = SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
} else { } else {
incall_answer.setVisibility(View.GONE); incall_answer.setVisibility(View.GONE);
} }
@@ -193,9 +196,8 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
if (incall_answer.getVisibility() == View.VISIBLE && selfCall) { if (incall_answer.getVisibility() == View.VISIBLE && selfCall) {
incall_answer.setVisibility(View.GONE); incall_answer.setVisibility(View.GONE);
SipEngine.getInstance().answer(callid); SipEngine.getInstance().answer(callid);
SipEngine.getInstance().StopdefaultCallMediaPlayer(this); SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
} else { ringtone = null;
SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
} }
} }
@@ -210,6 +212,8 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
protected void onDestroy() { protected void onDestroy() {
stopVideoStream(true); stopVideoStream(true);
super.onDestroy(); super.onDestroy();
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
ringtone = null;
SipEngine.getInstance().hangup(callid); SipEngine.getInstance().hangup(callid);
handler_CallActivity = null; handler_CallActivity = null;
if (wakeLock != null) { if (wakeLock != null) {
@@ -336,7 +340,8 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
case R.id.incall_answer: case R.id.incall_answer:
incall_answer.setVisibility(View.GONE); incall_answer.setVisibility(View.GONE);
SipEngine.getInstance().answer(callid); SipEngine.getInstance().answer(callid);
SipEngine.getInstance().StopdefaultCallMediaPlayer(this); SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
ringtone = null;
break; break;
} }
} }

View File

@@ -7,6 +7,7 @@ import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.graphics.Color; import android.graphics.Color;
import android.media.Ringtone;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Message; import android.os.Message;
@@ -85,6 +86,8 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
private boolean selfCall = false; private boolean selfCall = false;
private boolean VIDEOSTATE = false; private boolean VIDEOSTATE = false;
public static Intent incallIntent; public static Intent incallIntent;
private Ringtone ringtone;
private boolean isinited = false; private boolean isinited = false;
@@ -512,6 +515,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
incall_answer.setVisibility(View.VISIBLE); incall_answer.setVisibility(View.VISIBLE);
incall_mute.setVisibility(View.GONE); incall_mute.setVisibility(View.GONE);
incall_muteVideo.setVisibility(View.GONE); incall_muteVideo.setVisibility(View.GONE);
ringtone = SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
} else { } else {
incall_answer.setVisibility(View.GONE); incall_answer.setVisibility(View.GONE);
if (DBUser.mySelf != null && DBUser.mySelf.isManager) { if (DBUser.mySelf != null && DBUser.mySelf.isManager) {
@@ -527,10 +531,9 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
//控件显示号码,来电,去电,通话中... //控件显示号码,来电,去电,通话中...
if (incall_answer.getVisibility() == View.VISIBLE && selfCall) { if (incall_answer.getVisibility() == View.VISIBLE && selfCall) {
incall_answer.setVisibility(View.GONE); incall_answer.setVisibility(View.GONE);
SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
SipEngine.getInstance().answer(callid); SipEngine.getInstance().answer(callid);
} else { SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
SipEngine.getInstance().PlaydefaultCallMediaPlayer(this); ringtone = null;
} }
} }
@@ -545,6 +548,8 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
protected void onDestroy() { protected void onDestroy() {
stopVideoStream(true); stopVideoStream(true);
super.onDestroy(); super.onDestroy();
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
ringtone = null;
SipEngine.getInstance().hangup(callid); SipEngine.getInstance().hangup(callid);
handler_CallActivity.removeCallbacks(getMemberRunner); handler_CallActivity.removeCallbacks(getMemberRunner);
handler_CallActivity = null; handler_CallActivity = null;
@@ -690,7 +695,8 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
incall_mute.setVisibility(View.VISIBLE); incall_mute.setVisibility(View.VISIBLE);
} }
SipEngine.getInstance().answer(callid); SipEngine.getInstance().answer(callid);
SipEngine.getInstance().StopdefaultCallMediaPlayer(this); SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
ringtone = null;
break; break;
case R.id.incall_mute: case R.id.incall_mute:
muteAll(v); muteAll(v);