一种音效均衡器的制作方法

文档序号:15116840发布日期:2018-08-07 20:34阅读:1261来源:国知局

本发明涉及均衡器技术领域,具体说是一种音效均衡器。



背景技术:

为了增强便携移动设备(例如手机、平板电脑等)的音乐播放效果和质量,提升音乐聆听体验,音效均衡器app逐渐流行起来。

音效均衡器(简称均衡器)app,通过设置手机播放音乐时的音效,让便携移动设备(例如android手机)带来前所未有的音乐聆听体验。通常,音效均衡器eq具有以下功能:

音量控制,

五波段均衡器,

低音增强效果,

虚拟效果,

若干种均衡器模式。

均衡器的原理是:通过对各种不同频率的电信号的调节来补偿扬声器和声场的缺陷,补偿和修饰各种声源及其它特殊作用。可以调节不同频率下的幅度值。

由于便携移动设备大多是使用耳机聆听音乐,因此有必要针对耳机提供相应的音效均衡器。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种音效均衡器,允许用户方便的调节自己喜欢的音效,可以按需调节耳机频率,调节方便、界面简洁清晰,用户体验好,音效调节功能丰富。

为达到以上目的,本发明采取的技术方案是:

一种音效均衡器,其特征在于,包括如下步骤:

步骤1,设定若干竖线,对应可调节的频率;

所述可调节的频率与耳机型号关联,默认至少有3个可调节的频率;

步骤2,在每条竖线上,设定滑块及对应于可调节的频率的频率值文字;

滑块包括:滑动下限,滑动上限,默认滑块位置,

频率值文字包括:字形,大小,颜色,阴影,频率数值;

步骤3,设定相邻滑块间的连接线;

具体设定参数包括:线形、粗细、颜色;

步骤4,根据步骤1到3的信息,在ondraw回调中,绘制生成均衡器ui界面;

步骤5,在控件的ontouchevent回调中,响应并处理针对滑块或频率值文字的点击事件及滑动事件;

当频率值文字发生点击事件,则弹窗接收用户指定的新的频率值;

当频率值文字发生滑动事件,则按默认递增或递减比例,重新计算新的频率值;

当滑块发生点击事件,则锁定或解锁或恢复默认滑块位置;

当滑块发生滑动事件,则重新计算新的滑块位置;

步骤6,实时更新相邻滑块间的连接线。

在上述技术方案的基础上,步骤1中,默认竖线数量为5条,竖线间的间隔按控件宽度动态调整;间隔存储于偏移量moffset中,与具体设备适配;

可调节的频率默认为:60hz、230hz、910hz、4khz、14khz。

在上述技术方案的基础上,步骤4中,基于控件view,自定义新的控件equalizerview,在构造函数中初始化画笔,加载滑块的图片到内存中,确定容器布局的大小,根据屏幕进行适配。

在上述技术方案的基础上,步骤4中,在ondraw回调中,绘制横向的短分割线。

在上述技术方案的基础上,步骤4中,以竖线的坐标为基准,先确定文字的中间位置,再计算出文字的横向宽度,能给得出左边的x坐标,利用android提供的apidrawtext绘制对应的文字。

在上述技术方案的基础上,步骤4中,以竖线的坐标为基准,先确定竖线对应的滑块的y坐标,

y坐标为默认值或用户滑动滑块后对应的坐标值,

根据y坐标及滑块的高度,绘制滑块上方的竖线时,默认颜色为灰色,绘制滑块下方的竖线时,默认颜色为黄色。

在上述技术方案的基础上,步骤6中,精确记录用户点击的x、y坐标点,实时绘制滑块之间的连线。

在上述技术方案的基础上,在控件equalizerview的构造函数中会定义一个值动画valueanimator的变量,valueanimator是针对值的,不会对控件做任何操作,可以给它设定从哪个值运动到哪个值,通过监听这些值的渐变过程来自己操作控件。

在上述技术方案的基础上,用户按需调节、设置值动画持续的时间,

用户按需调节、设置值动画的震动类型。

本发明所述的音效均衡器,允许用户方便的调节自己喜欢的音效,可以按需调节耳机频率,调节方便、界面简洁清晰,用户体验好,音效调节功能丰富。

附图说明

本发明有如下附图:

图1本发明的音效均衡器示意图。

图2本发明的流程图。

具体实施方式

以下结合附图对本发明作进一步详细说明。

如图1、2所示,本发明所述的音效均衡器,包括如下步骤:

步骤1,设定若干竖线,对应可调节的频率;

所述可调节的频率与耳机型号关联,默认至少有3个可调节的频率;

步骤2,在每条竖线上,设定滑块及对应于可调节的频率的频率值文字;

滑块包括:滑动下限,滑动上限,默认滑块位置,

频率值文字包括:字形,大小,颜色,阴影,频率数值;

步骤3,设定相邻滑块间的连接线;

具体设定参数包括:线形、粗细、颜色;

步骤4,根据步骤1到3的信息,在ondraw回调中,绘制生成均衡器ui界面;

步骤5,在控件的ontouchevent回调中,响应并处理针对滑块或频率值文字的点击事件及滑动事件;

当频率值文字发生点击事件,则弹窗接收用户指定的新的频率值;

当频率值文字发生滑动事件,则按默认递增或递减比例,重新计算新的频率值;

当滑块发生点击事件,则锁定或解锁或恢复默认滑块位置;

当滑块发生滑动事件,则重新计算新的滑块位置;

步骤6,实时更新相邻滑块间的连接线。

在上述技术方案的基础上,步骤1中,默认竖线数量为5条,竖线间的间隔按控件宽度动态调整;间隔存储于偏移量moffset中,与具体设备适配;

可调节的频率默认为:60hz、230hz、910hz、4khz、14khz。

以5段均衡器为例,在宽度上分为10部分,第1,3,5,7,9就是5个竖线的x轴坐标。

在上述技术方案的基础上,步骤4中,基于控件view,自定义新的控件equalizerview,在构造函数中初始化画笔,加载滑块的图片到内存中,确定容器布局的大小,根据屏幕进行适配。

在上述技术方案的基础上,步骤4中,在ondraw回调中,绘制横向的短分割线。

横向的短分割线用于辨识滑块的位置,便于滑动滑块时能较为精确的定位。

在上述技术方案的基础上,步骤4中,以竖线的坐标为基准,先确定文字的中间位置,再计算出文字的横向宽度,能给得出左边的x坐标,利用android提供的apidrawtext绘制对应的文字。

在上述技术方案的基础上,步骤4中,以竖线的坐标为基准,先确定竖线对应的滑块的y坐标,

y坐标为默认值或用户滑动滑块后对应的坐标值,

根据y坐标及滑块的高度,绘制滑块上方的竖线时,默认颜色为灰色,绘制滑块下方的竖线时,默认颜色为黄色。

在上述技术方案的基础上,步骤6中,精确记录用户点击的x、y坐标点,实时绘制滑块之间的连线。

在上述技术方案的基础上,步骤5中,具体事件的处理步骤可如下:

处理按下事件

当用户点击均衡器的某个位置时,循环遍历5段均衡器,判断点击位置的x坐标落在哪段均衡器范围内,方法是根据保存的5段均衡器的横坐标以及偏移量,判断是点击了哪段均衡器

if(x>this.x-moffset&&x<this.x+moffset){

returntrue;

}

其中,x就是用户点击的横坐标,this.x就是当前某一段均衡器的横坐标,moffset是计算出的偏移量,这样就判断用户点击的位置坐落在哪段均衡器范围内了。

最后再将用户点击的y坐标记录下来,开始调用android系统提供的invalidateapi接口刷新界面,在中会根据保留的y坐标实时刷新界面,将对应的某段均衡器滑块移动到用户点击的位置。

处理滑动事件

根据用户的滑动,不断的改变y坐标,同时调用android系统提供的invalidateapi接口刷新界面,这样界面就会呈现出跟随用户手指滑动不断改变均衡器数值的移动动画了。

处理抬起事件

用户抬起时,记录最后的y坐标,最后用android系统提供的invalidateapi接口刷新界面。

在上述技术方案的基础上,在控件equalizerview的构造函数中会定义一个值动画valueanimator的变量,valueanimator是针对值的,不会对控件做任何操作,可以给它设定从哪个值运动到哪个值,通过监听这些值的渐变过程来自己操作控件。

manimator.addupdatelistener(newvalueanimator.animatorupdatelistener(){

@override

publicvoidonanimationupdate(valueanimatoranimation){

manimpercent=(float)animation.getanimatedvalue();

invalidate();

}

});

其中,manimator就是值动画valueanimator的变量,定义更新的接口,在onanimationupdate回调里获取变化的数值,之后再更新界面,在绘制界面中会根据这个变化的数值实时绘制均衡器界面。

floatanimprogressy=preprogressy+(currentprogressy-preprogressy)*animpercent

其中,animprogressy是根据值动画改变后的值计算出的滑块的y坐标,preprogressy是滑块前一个的y的坐标,currentprogressy是当前需要移动到的y的坐标值,manimpercent是值动画的回调中的值,这样就能根据值动画变化的值,计算滑块由一个位置过度到另一个位置的y的坐标变化,再实时绘制界面就会出现动画的效果。

可以设置值动画持续的时间,本发明中设置了500毫秒,也可以设置值动画的震动类型,本发明设置了减速运动的效果,用户可以自行设置持续时间和不同的运动效果的插值器。

本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1