版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chezi008/article/details/64923736
Android 自定义音频录制控件
一、控件效果展示:
二、控件拆分
1、控件分为两部分,录制时长和麦克风控件。
2、麦克风控件带动画效果,控件感知到用户的触摸事件后进行一个动画效果。波纹效果和旋转效果。
//麦克风控件的触控事件
mDoughnutProgress.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startAnimation();
return true;
case MotionEvent.ACTION_MOVE:
if (event.getY() < 0) {
stopAnimation();
} else {
}
return true;
case MotionEvent.ACTION_UP:
stopAnimation();
return true;
default:
break;
}
return false;
}
});
3、麦克风控件原型是网上的一位作者的,我加了一个麦克风的图片和触控动画。只有一个波纹效果。由于现在找不到出处,所以也没有贴出作者地址,有知道的同学可以留言给我,我加上作者注释。
4、麦克风控件原理:
- 波纹效果根据半径的大小变化逐渐改变透明度
- 波纹效果的半径大小的变换还有一个先后的顺序,当前一个圆环结束之后,后一个圆环才能开始动画。
- 旋转部分,用的是旋转画布的功能,但是麦克风图标是没有转的喔,只旋转了画出来的圆环。
//转起来
canvas.rotate(-currentAngle, 0, 0);
5、录音控件控件源码