[发明专利]一种音频频谱和进度条叠加方法有效

专利信息
申请号: 201710356773.7 申请日: 2017-05-19
公开(公告)号: CN107220048B 公开(公告)日: 2021-04-20
发明(设计)人: 纪广兴 申请(专利权)人: 北京酷我科技有限公司
主分类号: G06F9/451 分类号: G06F9/451;G06F3/0484;G06T13/00
代理公司: 北京国标律师事务所 11753 代理人: 姚克枫
地址: 100080 北京市海淀区农大*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 音频 频谱 进度条 叠加 方法
【权利要求书】:

1.一种音频频谱和进度条叠加方法,其特征在于,在动画显示音频频谱数据的同时,在上面绘制和处理进度条的展示与交互,包括如下步骤:

步骤1,基于View控件,自定义新的控件类mProgress,在构造函数处增加初始化方法;

步骤1中,自定义新的控件类mProgress包括:

创建频谱绘制使用的Path对象wavePath,并设置相应参数,所述参数至少包括频谱数组容量参数,

创建频谱变换使用缓存数组对象cacheFFTs,

创建两条贝赛尔曲线绘制使用的Paint对象mForePaint1,mForePaint2,

创建进度条绘制变量max、min、value,三个变量分别表示进度条最大值、最小值、当前值,所述自定义新的控件类mProgress使用这三个变量的换算值表示播放进度;

步骤2,进行频谱数据的接收、变换,准备好频谱绘制用图形对象,启动异步绘制循环调用;

步骤3,进度条控件变化,通过外部播放器的回调,通过对设置第一进度setProgress、设置第二进度setSecondProgress的设定进行进度更新,

或者:通过onTouchEvent函数,通过用户在控件上点击或触摸,改变进度Progress的位置;

步骤4,通过复写onDraw方法,实现频谱数据与进度条数据的绘制;具体步骤如下:

步骤4.1,调用View的onDraw父绘制方法,把设置的背景绘制显示;

步骤4.2,判断当前是否是暂停状态,暂停状态下,直接返回只绘制背景;非暂停状态下,开始分层绘制频谱动画和进度条;

步骤4.3,通过cacheFFTs数组,进行频谱贝塞尔曲线绘制:

首先计算绘制基线baseX和频谱可绘制最大高度值height,复位wavePath的内部数据,首先通过循环,获取cacheFFTs数组中的偶数位置的频谱数据,经过坐标x、y的计算,使用wavePath的quadTo函数,增加到wavePath中保存为贝塞尔曲线绘制点;

循环结束后,把最后的贝塞尔坐标与最开始的点通过调用close方法,进行直线封闭;

调用canvas对象,首先保存当前状态,然后调用drawPath方法,把wavePath通过mForePaint1画笔绘制到界面;

步骤4.4,wavePath进行复位,再从头循环频谱数组cacheFFTs,获取其奇数位置的频谱数据,通过quadTo转换为path数据保存到wavePath中,最后通过canvas的drawPath方法,使用mForePaint2画笔绘制到界面上;

步骤4.5,通过调用canvas的restore方法恢复canvas状态;

步骤4.6,通过进度条相关变量值,绘制缓冲进度与播放进度;

步骤5,停止频谱动画。

2.如权利要求1所述的音频频谱和进度条叠加方法,其特征在于:步骤1中,初始化方法包括:

初始化按键操作步进单位值,表示按键一次,变化多少;

初始化进度条背景绘制用Paint对象lingBgPaint,

初始化进度条进度绘制用Paint对象progressPaint,

初始化进度条缓冲绘制用Paint对象secondPaint。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京酷我科技有限公司,未经北京酷我科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710356773.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top