Android 仿微信语音聊天,flutter项目结构

4.录音类里有两个成员:录音长度,录音路径。

下面贴一下代码:

自定义Button

package com.zms.wechatrecorder.view;

import com.zms.wechatrecorder.MyAudioManager;

import com.zms.wechatrecorder.MyAudioManager.AudioStateChangeListener;

import com.zms.wechatrecorder.R;

import android.content.Context;

import android.os.Environment;

import android.os.Handler;

import android.util.AttributeSet;

import android.view.MotionEvent;

impo

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

rt android.view.View;

import android.widget.Button;

public class AudioRecordButton extends Button {

private static final int STATE_NORMAL = 1;

private static final int STATE_RECORDING = 2;

private static final int STATE_WANT_CANCEL = 3;

private static final int DISTANCE_CANCEL_Y = 50;

private int currentState = STATE_NORMAL;

private boolean isRecording = false;

private AudioRecordDialog dialogManager;

private MyAudioManager audioManager;

private float mTime;

// 是否触发LongClick

private boolean isReady = false;

public AudioRecordButton(Context context) {

this(context, null);

}

public AudioRecordButton(Context context, AttributeSet attrs) {

super(context, attrs);

dialogManager = new AudioRecordDialog(getContext());

String dir = Environment.getExternalStorageDirectory()

  • “/zms_chat_audios”;

audioManager = MyAudioManager.getInstance(dir);

audioManager

.setOnAudioStateChangeListener(new MyOnAudioStateChangeListener());

setOnLongClickListener(new OnLongClickListener() {

@Override

public boolean onLongClick(View v) {

isReady = true;

audioManager.prepareAudio();

return false;

}

});

}

class MyOnAudioStateChangeListener implements AudioStateChangeListener {

@Override

public void wellPrepared() {

mHanlder.sendEmptyMessage(MSG_AUDIO_PREPARED);

}

}

/**

  • 录音完成后的回调

*/

public interface AudioRecordFinishListener {

void onFinish(float second, String filePath);

}

private AudioRecordFinishListener audioRecordFinishListener;<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值