From f5849a3ca2e140cfa0c47123531cf60fa5be2dc9 Mon Sep 17 00:00:00 2001 From: zlzw <583819556@qq.com> Date: Sat, 28 Oct 2023 18:29:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B5=8B=E8=AF=95=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../onetoone/view/MsgInputPanelForAudio.java | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForAudio.java b/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForAudio.java index 387c7762e..647d0799c 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForAudio.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/view/MsgInputPanelForAudio.java @@ -24,6 +24,7 @@ import com.yunbao.common.utils.WordUtil; import java.lang.reflect.Field; import androidx.fragment.app.FragmentActivity; + import io.rong.imkit.conversation.extension.RongExtension; import io.rong.imkit.manager.AudioPlayManager; import io.rong.imkit.manager.AudioRecordManager; @@ -64,6 +65,7 @@ public class MsgInputPanelForAudio extends AbsInputPanel { } private boolean isAudio; + private boolean isDownload=false; @SuppressLint("ClickableViewAccessibility") @Override @@ -74,7 +76,7 @@ public class MsgInputPanelForAudio extends AbsInputPanel { btnClose = viewGroup.findViewById(R.id.close_btn); btnAudio.setOnTouchListener((v, event) -> { - System.out.println("点击事件:" + event.getAction()+" isAudio = "+isAudio); + System.out.println("点击事件:" + event.getAction() + " isAudio = " + isAudio); float mOffsetLimit = 70.0F * v.getContext().getResources().getDisplayMetrics().density; String[] permissions = new String[]{Manifest.permission.RECORD_AUDIO}; if (!PermissionCheckUtil.checkPermissions(v.getContext(), permissions) && event.getAction() == 0) { @@ -83,8 +85,9 @@ public class MsgInputPanelForAudio extends AbsInputPanel { System.out.println("点击事件 没权限掉了"); return true; } else { + isDownload=true; if (event.getAction() == MotionEvent.ACTION_DOWN) { - System.out.println("点击事件:点下 isAudio = "+isAudio); + System.out.println("点击事件:点下 isAudio = " + isAudio); if (isAudio) { if (onDown(v, event.getY())) { System.out.println("点击事件:内部点击,返回掉了"); @@ -100,6 +103,7 @@ public class MsgInputPanelForAudio extends AbsInputPanel { } } else if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL) { + isDownload=false; if (isAudio) { onUp(v, event); } @@ -118,10 +122,15 @@ public class MsgInputPanelForAudio extends AbsInputPanel { private void toToken(View v, float mLastTouchY) { System.out.println("点击事件:调用token"); + if(!isDownload){ + ToastUtil.show("过短,结束"); + AudioRecordManager.getInstance().stopRecord(); + return; + } SendMessageManager.sendMessageForAudio(targetId, new OnSendMessageListener() { @Override public void onSuccess(String token, SendConsumeBean bean) { - super.onSuccess(token,bean); + super.onSuccess(token, bean); MsgInputPanelForAudio.this.token = token; ToastUtil.showDebug(token); isAudio = true; @@ -132,6 +141,8 @@ public class MsgInputPanelForAudio extends AbsInputPanel { public void onError(int status, String msg) { super.onError(status, msg); if (status == OnSendMessageListener.STATUS_NOT_PRICE) { + AudioRecordManager.getInstance().stopRecord(); + mUpDirection = false; new TipsDialog(mContext) .setTitle(WordUtil.getNewString(R.string.not_money)) .setContent(String.format(WordUtil.getNewString(R.string.not_money_text_tips), msg)) @@ -150,8 +161,8 @@ public class MsgInputPanelForAudio extends AbsInputPanel { } - private boolean onDown(View v, float mLastTouchY) { - System.out.println("点击事件 mLastTouchY = "+mLastTouchY); + private boolean onDown(View v, float mLastTouchY) { + System.out.println("点击事件 mLastTouchY = " + mLastTouchY); if (AudioPlayManager.getInstance().isPlaying()) { AudioPlayManager.getInstance().stopPlay(); } @@ -180,10 +191,10 @@ public class MsgInputPanelForAudio extends AbsInputPanel { private boolean onUp(View v, MotionEvent event) { AudioRecordManager.getInstance().stopRecord(); + isAudio = false; if (mUpDirection) { ToastUtil.show("取消发送"); SendMessageManager.cancel(token); - isAudio = false; return false; } SendMessageManager.onCallSuccess(token, new OnSendMessageListener() { @@ -191,7 +202,6 @@ public class MsgInputPanelForAudio extends AbsInputPanel { public void onError(int status, String msg) { super.onError(status, msg); ToastUtil.show(msg); - isAudio = false; } }); return false;