/**
* 自定义按钮 实现录音等功能
* Created by Administrator on 2017/11/28.
*/
@SuppressLint("AppCompatCustomView")
public class AudioRecorderButton extends Button implements AudioManager.AudioStateListener {
//手指滑动 距离
private static final int DISTANCE_Y_CANCEL = 50;
//状态
private static final int STATE_NORMAL = 1;
private static final int STATE_RECORDING = 2;
private static final int STATE_WANT_TO_CANCEL = 3;
//当前状态
private int mCurState = STATE_NORMAL;
//已经开始录音
private boolean isRecording = false;
private DialogManager mDialogManager;
private AudioManager mAudioManager;
private float mTime;
//是否触发onlongclick
private boolean mReady;
public AudioRecorderButton(Context context) {
this(context, null);
}
public AudioRecorderButton(Context context, AttributeSet attrs) {
super(context, attrs);
mDialogManager = new DialogManager(getContext());
//偷个懒,并没有判断 是否存在, 是否可读。
String dir = Environment.getExternalStorageDirectory() + "/recorder_audios";
mAudioManager = new Audio