VoiceRipple
项目介绍
- 项目名称:VoiceRipple
- 所属系列:openharmony的第三方组件适配移植
- 功能:一个超级棒的音波语音录制按钮,可以跟随用户的语音大小产生波状动态效果,可以通过转动颜色转盘来更换波纹颜色,可以对语音进行 采样率和衰减率的调整,录音后进行音乐播放。
- 项目移植状态:主功能完成
- 调用差异:无
- 开发版本:sdk6,DevEco Studio2.2 Beta1
- 基线版本:master分支
效果演示
安装教程
1.在项目根目录下的build.gradle文件中,
2.在entry模块的build.gradle文件中,
在sdk6,DevEco Studio2.2 Beta1 下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下
使用说明
Demo中调用ripplelibrary组件库,操作展示组件功能。
1、布局文件中引用界面效果:
其中 自定义颜色选择器 是ColorPicker类:
自定义振幅波纹效果 是VoiceRippleView类。
2、在自定义中 振幅波形图实现
@Override
public void render(Canvas canvas, int xx, int yy, int buttonRadius, int rippleRadius, int rippleBackgroundRadius) {
super.render(canvas, xx, yy, buttonRadius, rippleRadius, rippleBackgroundRadius);
rect = new RectF(xx - buttonRadius, yy - buttonRadius, xx + buttonRadius,
yy + buttonRadius);
canvas.drawArc(rect, new Arc(Constant.NUMBERF90, Constant.NUMBER360, false), timerBackgroundPaint);
canvas.drawArc(rect, new Arc(Constant.NUMBERF90, (float) (Constant.NUMBER360F
* (currentTimeMilliseconds / maxTimeMilliseconds)), false), timerPaint);
if (currentTimeMilliseconds >= maxTimeMilliseconds) {
listener.stopRecording();
}
}
@Override
public void render(Canvas canvas, int x, int y, int buttonRadius, int rippleRadius, int rippleBackgroundRadius) {
super.render(canvas, x, y, buttonRadius, rippleRadius, rippleBackgroundRadius);
canvas.drawCircle(x, y, rippleRadius, ripplePaint);
canvas.drawCircle(x, y, rippleBackgroundRadius, rippleBackgroundPaint);
canvas.drawCircle(x, y, buttonRadius, buttonPaint);
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
测试信息
CodeCheck代码测试无异常
CloudTest代码测试无异常
病毒安全检测通过
当前版本demo功能与原组件基本无差异
当前版本demo部分功能暂不支持模拟器运行
版本迭代