fix
This commit is contained in:
@@ -336,14 +336,18 @@ public class SipEngine implements BluetelInterface {
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
public void PlaydefaultCallMediaPlayer(Context context) {
|
||||
public Ringtone PlaydefaultCallMediaPlayer(Context context) {
|
||||
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
|
||||
Ringtone r = RingtoneManager.getRingtone(context, notification);
|
||||
r.play();
|
||||
return r;
|
||||
}
|
||||
public void StopdefaultCallMediaPlayer(Context context) {
|
||||
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
|
||||
Ringtone r = RingtoneManager.getRingtone(context, notification);
|
||||
r.stop();
|
||||
public void StopdefaultCallMediaPlayer(Ringtone r) {
|
||||
// Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
|
||||
// Ringtone r = RingtoneManager.getRingtone(context, notification);
|
||||
// r.stop();
|
||||
if(r != null) {
|
||||
r.stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import android.app.Activity;
|
||||
import android.app.KeyguardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.media.Ringtone;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
@@ -50,6 +51,7 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
|
||||
private SMPercentFrameLayout localRenderLayout;
|
||||
private SMPercentFrameLayout remoteRenderLayout;
|
||||
private ImageButton incall_answer, incall_hangup;
|
||||
private Ringtone ringtone;
|
||||
private TextView show;
|
||||
QMUITabSegment mTabSegment;
|
||||
ViewPager mContentViewPager;
|
||||
@@ -191,15 +193,22 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
|
||||
}
|
||||
show.setText(callnumber + callstate);
|
||||
if (incall_answer.getVisibility() == View.VISIBLE && selfCall) {
|
||||
incall_answer.setVisibility(View.GONE);
|
||||
SipEngine.getInstance().answer(callid);
|
||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
|
||||
answer();
|
||||
} else {
|
||||
SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
||||
ringtone = SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
||||
AutoAnwser(); //5秒后自动接听
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void AutoAnwser(){
|
||||
handler_CallActivity.postDelayed(doAutoAnwser, 5000);
|
||||
}
|
||||
static Runnable doAutoAnwser = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
CONS.SENDMESSAGETO(handler_CallActivity, -2, null);
|
||||
}
|
||||
};
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
@@ -211,11 +220,14 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
|
||||
stopVideoStream(true);
|
||||
super.onDestroy();
|
||||
SipEngine.getInstance().hangup(callid);
|
||||
handler_CallActivity.removeCallbacks(doAutoAnwser);
|
||||
handler_CallActivity = null;
|
||||
if (wakeLock != null) {
|
||||
wakeLock.release();
|
||||
wakeLock = null;
|
||||
}
|
||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
||||
ringtone = null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -275,6 +287,9 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
|
||||
stopVideoStream(true);
|
||||
finish();
|
||||
break;
|
||||
case -2:
|
||||
answer();
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -332,15 +347,20 @@ public class InCallActivity extends TrBaseActivity implements OnClickListener {
|
||||
if (SipEngine.callPagesConfig.size() == 0) {
|
||||
finish();
|
||||
}
|
||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
||||
break;
|
||||
case R.id.incall_answer:
|
||||
incall_answer.setVisibility(View.GONE);
|
||||
SipEngine.getInstance().answer(callid);
|
||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
|
||||
answer();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void answer(){
|
||||
incall_answer.setVisibility(View.GONE);
|
||||
SipEngine.getInstance().answer(callid);
|
||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
||||
handler_CallActivity.removeCallbacks(doAutoAnwser);
|
||||
}
|
||||
|
||||
public void ShowVideoView(boolean show) {
|
||||
if (show) {
|
||||
|
||||
@@ -7,6 +7,7 @@ import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.media.Ringtone;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
@@ -87,6 +88,7 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
public static Intent incallIntent;
|
||||
|
||||
private boolean isinited = false;
|
||||
private Ringtone ringtone;
|
||||
|
||||
TrAdapter adapterUser;
|
||||
|
||||
@@ -526,15 +528,23 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
show.setText(callnumber + callstate);
|
||||
//控件显示号码,来电,去电,通话中...
|
||||
if (incall_answer.getVisibility() == View.VISIBLE && selfCall) {
|
||||
incall_answer.setVisibility(View.GONE);
|
||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
|
||||
SipEngine.getInstance().answer(callid);
|
||||
answer();
|
||||
} else {
|
||||
SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
||||
ringtone = SipEngine.getInstance().PlaydefaultCallMediaPlayer(this);
|
||||
AutoAnwser(); //5秒后自动接听
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void AutoAnwser(){
|
||||
handler_CallActivity.postDelayed(doAutoAnwser, 5000);
|
||||
}
|
||||
static Runnable doAutoAnwser = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
CONS.SENDMESSAGETO(handler_CallActivity, -2, null);
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
@@ -547,12 +557,15 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
super.onDestroy();
|
||||
SipEngine.getInstance().hangup(callid);
|
||||
handler_CallActivity.removeCallbacks(getMemberRunner);
|
||||
handler_CallActivity.removeCallbacks(doAutoAnwser);
|
||||
handler_CallActivity = null;
|
||||
if (wakeLock != null) {
|
||||
wakeLock.release();
|
||||
wakeLock = null;
|
||||
}
|
||||
|
||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
||||
ringtone = null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -621,6 +634,9 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
case -1:
|
||||
getMembers();
|
||||
break;
|
||||
case -2:
|
||||
answer();
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -683,14 +699,10 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
if (SipEngine.callPagesConfig.size() == 0) {
|
||||
finish();
|
||||
}
|
||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
||||
break;
|
||||
case R.id.incall_answer:
|
||||
incall_answer.setVisibility(View.GONE);
|
||||
if (DBUser.mySelf != null && DBUser.mySelf.isManager) {
|
||||
incall_mute.setVisibility(View.VISIBLE);
|
||||
}
|
||||
SipEngine.getInstance().answer(callid);
|
||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(this);
|
||||
answer();
|
||||
break;
|
||||
case R.id.incall_mute:
|
||||
muteAll(v);
|
||||
@@ -701,6 +713,16 @@ public class InCallMeetingActivity extends TrBaseActivity implements OnClickList
|
||||
}
|
||||
}
|
||||
|
||||
public void answer() {
|
||||
incall_answer.setVisibility(View.GONE);
|
||||
if (DBUser.mySelf != null && DBUser.mySelf.isManager) {
|
||||
incall_mute.setVisibility(View.VISIBLE);
|
||||
}
|
||||
SipEngine.getInstance().answer(callid);
|
||||
SipEngine.getInstance().StopdefaultCallMediaPlayer(ringtone);
|
||||
handler_CallActivity.removeCallbacks(doAutoAnwser);
|
||||
}
|
||||
|
||||
public void muteAll(View view) {
|
||||
QMUIQuickAction qa = QMUIPopups.quickAction(InCallMeetingActivity.this,
|
||||
QMUIDisplayHelper.dp2px(InCallMeetingActivity.this, 56),
|
||||
|
||||
Reference in New Issue
Block a user