[发明专利]一种音量条的实现方法及装置有效
申请号: | 201611121523.7 | 申请日: | 2016-12-08 |
公开(公告)号: | CN108182097B | 公开(公告)日: | 2021-07-30 |
发明(设计)人: | 徐超 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 音量 实现 方法 装置 | ||
1.一种音量条的实现方法,其特征在于,所述方法包括:
创建音量条控件;
监测当前音频数据帧的音量值;
根据所述音量值以及所述音量条控件对应的最大音量值,计算所述音量值在所述音量条控件上的第一目标显示比例;
根据所述第一目标显示比例以及所述音量条控件的宽度值,确定所述音量值在所述音量条控件上的第一目标绘制点;
根据所述第一目标绘制点,采用双缓冲技术在所述音量条控件上进行音量值的显示;
在所述创建音量条控件之后,还加入对音量条刻度信息的显示,包括:
初始化音量值属性;
计算刻度显示比例并添加到刻度列表中;
所述计算刻度显示比例包括:
计算96(音量条控件显示最大值)分贝在数轴上对应的点:
maxLinear = -log10(0.0f+6.0f);
计算0(音量条控件显示最小值)分贝在数轴上对应的点:
minLinear= -log10(96.0f+6.0f);
每一个刻度与刻度之间的单位为6分贝,计算刻度显示比例为:
m_graduations[i] = (-log10 (96.0f - 6.0f (i)) - minLinear) / (maxLinear- minLinear);
其中,i=0、1、2、3…;f为浮点型(float);
分别计算16个刻度的显示比例;
根据所述16个刻度的显示比例,通过CreateSolidBrush API创建画刷,以采用双缓冲技术在所述音量条控件上进行刻度线的显示。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一目标绘制点,采用双缓冲技术在所述音量条控件上进行音量值的显示,包括:
采用双缓存技术创建一个与所述音量条控件对应的位图对象;
对所述位图对象进行背景渲染;
根据所述第一目标绘制点以及所述音量条控件的起始像素点,确定所述音量值在所述位图对象中对应的第一待渲染区域;
背景渲染完成后,对所述第一待渲染区域进行渲染;
将渲染后的位图对象绘制到所述音量条控件。
3.根据权利要求1或2所述的方法,其特征在于,在所述创建音量条控件之后,所述方法还包括:
设置所述音量条控件对应的最大音量值;
根据所述最大音量值以及预设的单位刻度值计算所述音量条控件的刻度线数量,并计算每一刻度线在所述音量条控件上的显示比例;
根据每一刻度线在所述音量条控件上的显示比例以及所述音量条控件的宽度值,确定各刻度线在所述音量条控件上的各个刻度绘制点;
根据所述各个刻度绘制点,采用双缓冲技术在所述音量条控件上进行刻度线的显示。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
监测当前音频数据帧的音量最大值;
根据所述音量最大值以及所述音量条控件对应的最大音量值,计算所述音量最大值在所述音量条控件上的第二目标显示比例;
根据所述第二目标显示比例以及所述音量条控件的宽度值,确定所述音量最大值在所述音量条控件上的第二目标绘制点;
根据所述第二目标绘制点,采用双缓冲技术在所述音量条控件上进行音量最大值的显示。
5.根据权利要求2或4所述的方法,其特征在于,所述方法还包括:
监测预设时间长度内播放的音频数据流的音量峰值;
根据所述音量峰值以及所述音量条控件对应的最大音量值,计算所述音量峰值在所述音量条控件上的第三目标显示比例;
根据所述第三目标显示比例以及所述音量条控件的宽度值,确定所述音量峰值在所述音量条控件上的第三目标绘制点;
根据所述第三目标绘制点,采用双缓冲技术在所述音量条控件上进行音量峰值的显示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611121523.7/1.html,转载请声明来源钻瓜专利网。