The invention relates to an audio spectrum display animation soft algorithm, spectrum data after the incoming access channel about frequency changes in the most abundant spectrum data of a specified number of one end of the spectrum, form a set of data, or create an array of mSpeeds multiplexing velocity spectrum data, using cacheFFTs array, and in the two update of spectrum data before interpolation the number of division, the division is calculated using 3 times to satisfy the design: in the 100ms update interval, every 33 milliseconds into a spectrum of animation, the following parameters were obtained: the corresponding spectrum data of new spectrum data, change the required speed; when the calculated cacheFFTs array and mSpeeds array speed after the start of asynchronous rendering call cycle. The present invention, the spectrum data update frequency interval and drawing interval interpolation matching in 100 ms data update interval, the realization of the three changes in the spectrum data segment rendering, rendering and animation show soft.
【技术实现步骤摘要】
本专利技术涉及进度条显示
,具体说是一种音频频谱动画柔和展现算法。
技术介绍
在Android中,自定义控件,主要包括两类:第一类,组合自定义控件,是指使用系统提供的各种界面控件,通过自定义封装成包括多个系统控件的自定义控件,代码在内部处理各子控件的交互,简化使用。第二类,自绘制控件,是指通过继承系统提供的各种界面控件,在控件的测量、布局、绘制三个方法中,使用代码进行测量、绘制、处理交互事件的自定义控件。自绘制控件能提供比系统控件更新颖的界面、更丰富的交互方式。频谱动画多在录音或播放音频时展示,通常是通过安卓自带的Visualizer类,获得频谱信息,得到一个byte数组。然后把这个byte数组转换成point数组,最后再根据这个point数组绘制点,就行了。但这种现有频谱动画显示效果缺乏美感,功能单一,人机交互过程有待进一步完善。在播放音频时还会在交互界面给出进度条,并且可以通过拖动进度条实现播放进度的相应控制。进度条通常是在独立的区域进行显示,同样也是功能单一,人机交互过程有待进一步完善。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种音频频谱动画柔和展现算法,把频谱数据更新频率间隔与绘制的间隔进行插值匹配,在100毫秒的数据更新间隔中,实现三次绘制,绘制时分段变化频谱数据,实现动画的柔和展现。为达到以上目的,本专利技术采取的技术方案是:一种音频频谱动画柔和展现算法,其特征在于,包括如下步骤:外部播放器回调接口,通过updateVisualizer方法把频谱数据传入,以进行频谱数据更新;使用cacheFFTs数组,分别从传入的 ...
【技术保护点】
一种音频频谱动画柔和展现算法,其特征在于,包括如下步骤:外部播放器回调接口,通过updateVisualizer方法把频谱数据传入,以进行频谱数据更新;使用cacheFFTs数组,分别从传入的频谱数据中,获取左右声道中频率变化最丰富一端的指定数量的频谱数据,在cacheFFTs数组中,把右声道频谱数据追加到左声道频谱数据后面,形成一组频谱数据;判断速度数组mSpeeds是否已存在,如不存在,则创建速度数组mSpeeds,如已存在,则复用速度数组mSpeeds;使用cacheFFTs数组中的频谱数据,与在二次更新频谱数据前插值的次数相除,所述相除计算使用3次,其满足:设计在100ms的更新间隔中,每33毫秒插入频谱动画一次,得到以下参数:频谱数据中新的对应频谱数据,要想从上一次频谱数据,变化到新的频谱数据,所需要的速度,存入速度数组mSpeeds;当计算好cacheFFTs数组和速度数组mSpeeds后,启动异步绘制循环调用。
【技术特征摘要】
1.一种音频频谱动画柔和展现算法,其特征在于,包括如下步骤:外部播放器回调接口,通过updateVisualizer方法把频谱数据传入,以进行频谱数据更新;使用cacheFFTs数组,分别从传入的频谱数据中,获取左右声道中频率变化最丰富一端的指定数量的频谱数据,在cacheFFTs数组中,把右声道频谱数据追加到左声道频谱数据后面,形成一组频谱数据;判断速度数组mSpeeds是否已存在,如不存在,则创建速度数组mSpeeds,如已存在,则复用速度数组mSpeeds;使用cacheFFTs数组中的频谱数据,与在二次更新频谱数据前插值的次数相除,所述相除计算使用3次,其满足:设计在100ms的更新间隔中,每33毫秒插入频谱动画一次,得到以下参数:频谱数据中新的对应频谱数据,要想从上一次频谱数据,变化到新的频谱数据,所需要的速度,存入速度数组mSpeeds;当计算好cacheFFTs数组和速度数组mSpeeds后,启动异步绘制循环调用。2.如权利要求1所述的音频频谱动画柔和展现算法,其特征在于:所述频谱数据参数格式为float数...
【专利技术属性】
技术研发人员:纪广兴,
申请(专利权)人:北京酷我科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。