[发明专利]一种音频频谱动画柔和展现方法有效
申请号: | 201710356774.1 | 申请日: | 2017-05-19 |
公开(公告)号: | CN107219991B | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 纪广兴 | 申请(专利权)人: | 北京酷我科技有限公司 |
主分类号: | G06F3/0486 | 分类号: | G06F3/0486;G06F3/0485 |
代理公司: | 北京国标律师事务所 11753 | 代理人: | 姚克枫 |
地址: | 100080 北京市海淀区农大*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 音频 频谱 动画 柔和 展现 方法 | ||
本发明涉及一种音频频谱动画柔和展现方法,频谱数据传入后,获取左右声道中频率变化最丰富一端的指定数量的频谱数据,形成一组频谱数据,创建或复用速度数组mSpeeds,使用cacheFFTs数组中的频谱数据,与在二次更新频谱数据前插值的次数相除,所述相除计算使用3次,其满足:设计在100ms的更新间隔中,每33毫秒插入频谱动画一次,得到以下参数:频谱数据中新的对应频谱数据,变化所需要的速度;当计算好cacheFFTs数组和速度数组mSpeeds后,启动异步绘制循环调用。本发明,把频谱数据更新频率间隔与绘制的间隔进行插值匹配,在100毫秒的数据更新间隔中,实现三次绘制,绘制时分段变化频谱数据,实现动画的柔和展现。
技术领域
本发明涉及进度条显示技术领域,具体说是一种音频频谱动画柔和展现方法。
背景技术
在Android中,自定义控件,主要包括两类:
第一类,组合自定义控件,是指使用系统提供的各种界面控件,通过自定义封装成包括多个系统控件的自定义控件,代码在内部处理各子控件的交互,简化使用。
第二类,自绘制控件,是指通过继承系统提供的各种界面控件,在控件的测量、布局、绘制三个方法中,使用代码进行测量、绘制、处理交互事件的自定义控件。自绘制控件能提供比系统控件更新颖的界面、更丰富的交互方式。
频谱动画多在录音或播放音频时展示,通常是通过安卓自带的Visualizer类,获得频谱信息,得到一个byte数组。然后把这个byte数组转换成point数组,最后再根据这个point数组绘制点,就行了。但这种现有频谱动画显示效果缺乏美感,功能单一,人机交互过程有待进一步完善。
在播放音频时还会在交互界面给出进度条,并且可以通过拖动进度条实现播放进度的相应控制。进度条通常是在独立的区域进行显示,同样也是功能单一,人机交互过程有待进一步完善。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种音频频谱动画柔和展现方法,把频谱数据更新频率间隔与绘制的间隔进行插值匹配,在100毫秒的数据更新间隔中,实现三次绘制,绘制时分段变化频谱数据,实现动画的柔和展现。
为达到以上目的,本发明采取的技术方案是:
一种音频频谱动画柔和展现方法,其特征在于,包括如下步骤:
外部播放器回调接口,通过updateVisualizer方法把频谱数据传入,以进行频谱数据更新;
使用cacheFFTs数组,分别从传入的频谱数据中,获取左右声道中频率变化最丰富一端的指定数量的频谱数据,
在cacheFFTs数组中,把右声道频谱数据追加到左声道频谱数据后面,形成一组频谱数据;
判断速度数组mSpeeds是否已存在,
如不存在,则创建速度数组mSpeeds,
如已存在,则复用速度数组mSpeeds;
使用cacheFFTs数组中的频谱数据,与在二次更新频谱数据前插值的次数相除,所述相除计算使用3次,其满足:设计在100ms的更新间隔中,每33毫秒插入频谱动画一次,得到以下参数:
频谱数据中新的对应频谱数据,
要想从上一次频谱数据,变化到新的频谱数据,所需要的速度,存入速度数组mSpeeds;
当计算好cacheFFTs数组和速度数组mSpeeds后,启动异步绘制循环调用。
在上述技术方案的基础上,所述频谱数据参数格式为float数组,左右声道的频谱数据,通过fft_left和fft_right二个数组传入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京酷我科技有限公司,未经北京酷我科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710356774.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种带有木纹饰面木皮的实木复合地板
- 下一篇:一种拼装式防滑木塑地板