CN108182097A - 一种音量条的实现方法及装置 - Google Patents
一种音量条的实现方法及装置 Download PDFInfo
- Publication number
- CN108182097A CN108182097A CN201611121523.7A CN201611121523A CN108182097A CN 108182097 A CN108182097 A CN 108182097A CN 201611121523 A CN201611121523 A CN 201611121523A CN 108182097 A CN108182097 A CN 108182097A
- Authority
- CN
- China
- Prior art keywords
- volume
- bar control
- value
- volume bar
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例公开了一种音量条的实现方法及装置,所述方法包括:创建音量条控件;监测当前音频数据帧的音量值;根据所述音量值以及所述音量条控件对应的最大音量值,计算所述音量值在所述音量条控件上的第一目标显示比例;根据所述第一目标显示比例以及所述音量条控件的宽度值,确定所述音量值在所述音量条控件上的第一目标绘制点;根据所述第一目标绘制点,采用双缓冲技术在所述音量条控件上进行音量值的显示。本发明实施例提出的音量条的实现方法及装置,能够以音量条的呈现形式实现对音频文件音量值的高效显示,使得用户能够很好地感知音频数据流的音量强度,提升用户的使用体验。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种音量条的实现方法及装置。
背景技术
在开发与音频相关的应用程序,如视频播放器、音乐播放器等,需要显示当前音量的强度,以协助研发人员在开发过程中更好的完成应用程序的功能测试。
但是,在实现本发明技术方案过程中,发明人发现现有技术仅能够实现对音频数据流中的音频数据帧的音量高低比例的显示,功能比较单一,难以满足用户的测试需求。而且,对于采用音频相关的应用程序进行音频数据播放时,用户也可能会存在对各种音量信息的显示需求,以感知对音频数据流的音量强度,但目前的音量条的实现方法却无法满足用户的需求。
发明内容
鉴于上述问题,本发明提出了一种音量条的实现方法及装置,能够以音量条的呈现形式实现对音频文件音量值的高效显示,使得用户能够很好地感知音频数据流的音量强度,提升用户的使用体验。
本发明的一个方面,提供了一种音量条的实现方法,所述方法包括:
创建音量条控件;
监测当前音频数据帧的音量值;
根据所述音量值以及所述音量条控件对应的最大音量值,计算所述音量值在所述音量条控件上的第一目标显示比例;
根据所述第一目标显示比例以及所述音量条控件的宽度值,确定所述音量值在所述音量条控件上的第一目标绘制点;
根据所述第一目标绘制点,采用双缓冲技术在所述音量条控件上进行音量值的显示。
可选地,所述根据所述第一目标绘制点,采用双缓冲技术在所述音量条控件上进行音量值的显示,包括:
采用双缓存技术创建一个与所述音量条控件对应的位图对象;
对所述位图对象进行背景渲染;
根据所述第一目标绘制点以及所述音量条控件的起始像素点,确定所述音量值在所述位图对象中对应的第一待渲染区域;
背景渲染完成后,对所述第一待渲染区域进行渲染;
将渲染后的位图对象绘制到所述音量条控件。
可选地,在所述创建音量条控件之后,所述方法还包括:
设置所述音量条控件对应的最大音量值;
根据所述最大音量值以及预设的单位刻度值计算所述音量条控件的刻度线数量,并计算每一刻度线在所述音量条控件上的显示比例;
根据每一刻度线在所述音量条控件上的显示比例以及所述音量条控件的宽度值,确定各刻度线在所述音量条控件上的各个刻度绘制点;
根据所述各个刻度绘制点,采用双缓冲技术在所述音量条控件上进行刻度线的显示。
可选地,所述方法还包括:
监测当前音频数据帧的音量最大值;
根据所述音量最大值以及所述音量条控件对应的最大音量值,计算所述音量最大值在所述音量条控件上的第二目标显示比例;
根据所述第二目标显示比例以及所述音量条控件的宽度值,确定所述音量最大值在所述音量条控件上的第二目标绘制点;
根据所述第二目标绘制点,采用双缓冲技术在所述音量条控件上进行音量最大值的显示。
可选地,所述根据所述第二目标绘制点,采用双缓冲技术在所述音量条控件上进行音量最大值的显示,包括:
在对所述第一待渲染区域进行渲染之后,根据所述第一目标绘制点和第二目标绘制点,确定所述音量最大值在所述位图对象中对应的第二待渲染区域;
对所述第二待渲染区域进行渲染,其中,第一待渲染区域与第二待渲染区域采用不同显示状态进行渲染。
可选地,所述方法还包括:
监测预设时间长度内播放的音频数据流的音量峰值;
根据所述音量峰值以及所述音量条控件对应的最大音量值,计算所述音量峰值在所述音量条控件上的第三目标显示比例;
根据所述第三目标显示比例以及所述音量条控件的宽度值,确定所述音量峰值在所述音量条控件上的第三目标绘制点;
根据所述第三目标绘制点,采用双缓冲技术在所述音量条控件上进行音量峰值的显示。
可选地,所述根据所述第三目标绘制点,采用双缓冲技术在所述音量条控件上进行音量峰值的显示,包括:
在所述对所述第二待渲染区域进行渲染之后,根据所述第三目标绘制点确定所述音量峰值在所述位图对象中对应的第三待渲染区域;
对所述第三待渲染区域进行渲染,其中,第三待渲染区域与第二待渲染区域采用不同显示状态进行渲染。
本发明的又一个方面,提供了一种音量条的实现装置,所述装置包括:
生成模块,用于创建音量条控件;
监测模块,用于监测当前音频数据帧的音量值;
计算模块,用于根据所述音量值以及所述音量条控件对应的最大音量值,计算所述音量值在所述音量条控件上的第一目标显示比例;
确定模块,用于根据所述第一目标显示比例以及所述音量条控件的宽度值,确定所述音量值在所述音量条控件上的第一目标绘制点;
显示模块,用于根据所述第一目标绘制点,采用双缓冲技术在所述音量条控件上进行音量值的显示。
可选地,所述显示模块,包括:
创建单元,用于采用双缓存技术创建一个与所述音量条控件对应的位图对象;
渲染单元,用于对所述位图对象进行背景渲染;
确定单元,用于根据所述第一目标绘制点以及所述音量条控件的起始像素点,确定所述音量值在所述位图对象中对应的第一待渲染区域;
所述渲染单元,还用于背景渲染完成后,对所述第一待渲染区域进行渲染;
显示单元,用于将渲染后的位图对象绘制到所述音量条控件。
可选地,所述装置还包括:
配置模块,用于在所述创建音量条控件之后,设置所述音量条控件对应的最大音量值;
相应的,所述计算模块,还用于根据所述最大音量值以及预设的单位刻度值计算所述音量条控件的刻度线数量,并计算每一刻度线在所述音量条控件上的显示比例;
所述确定模块,还用于根据每一刻度线在所述音量条控件上的显示比例以及所述音量条控件的宽度值,确定各刻度线在所述音量条控件上的各个刻度绘制点;
所述显示模块,还用于根据所述各个刻度绘制点,采用双缓冲技术在所述音量条控件上进行刻度线的显示。
可选地,所述监测模块,还用于监测当前音频数据帧的音量最大值;
所述计算模块,还用于根据所述音量最大值以及所述音量条控件对应的最大音量值,计算所述音量最大值在所述音量条控件上的第二目标显示比例;
所述确定模块,还用于根据所述第二目标显示比例以及所述音量条控件的宽度值,确定所述音量最大值在所述音量条控件上的第二目标绘制点;
所述显示模块,还用于根据所述第二目标绘制点,采用双缓冲技术在所述音量条控件上进行音量最大值的显示。
可选地,所述确定单元,还用于在对所述第一待渲染区域进行渲染之后,根据所述第一目标绘制点和第二目标绘制点,确定所述音量最大值在所述位图对象中对应的第二待渲染区域;
所述渲染单元,还用于对所述第二待渲染区域进行渲染,其中,第一待渲染区域与第二待渲染区域的采用不同显示状态进行渲染。
可选地,所述监测模块,还用于监测预设时间长度内播放的音频数据流的音量峰值;
所述计算模块,还用于根据所述音量峰值以及所述音量条控件对应的最大音量值,计算所述音量峰值在所述音量条控件上的第三目标显示比例;
所述确定模块,还用于根据所述第三目标显示比例以及所述音量条控件的宽度值,确定所述音量峰值在所述音量条控件上的第三目标绘制点;
所述显示模块,还用于根据所述第三目标绘制点,采用双缓冲技术在所述音量条控件上进行音量峰值的显示。
可选地,所述确定单元,还用于在所述对所述第二待渲染区域进行渲染之后,根据所述第三目标绘制点确定所述音量峰值在所述位图对象中对应的第三待渲染区域;
所述渲染单元,还用于对所述第三待渲染区域进行渲染,其中,第三待渲染区域与第二待渲染区域采用不同显示状态进行渲染。
本发明实施例提供的音量条的实现方法及装置,通过监测当前音频数据帧的音量值,并采用双缓冲技术在创建的音量条控件的对应目标绘制点上进行该音量值的显示,能够以音量条的呈现形式实现对音频文件音量值的高效显示,使得用户能够很好地感知音频数据流的音量强度,提升用户的使用体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例的一种音量条的实现方法的流程图;
图2为本发明实施例的一种音量条的实现方法中步骤S15的细分流程图;
图3为本发明另一实施例中一种音量条的实现方法的流程图;
图4为本发明实施例的一种音量条的实现装置的结构示意图;
图5为本发明实施例的一种音量条的实现装置中显示模块的内部结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
图1示意性示出了本发明实施例一种音量条的实现方法的流程图。参照图1,本发明实施例的音量条的实现方法具体包括以下步骤:
S11、创建音量条控件。
S12、监测当前音频数据帧的音量值。
本发明实施例中,通过根据预设采样频率对音频数据流中当前音频数据帧进行数据采样,然后根据采样值计算所述当前音频数据帧的音量值。
其中,当前音频数据帧具体是指音频数据流的当前播放的音频数据帧。本发明实施例中的采样频率为预先设定的,具体可根据实际应用场景的采样精度进行设置,本发明对此不作具体限定。
本实施例中,音量值是音量的有效值,具体是指当前音频数据帧的所有采样值的均方根值,具体计算方法如下:
计算所述当前音频数据帧的每一采样值的平方值;
获取各个采样值的平方值的平均值,并计算所述平均值的平方根,将得到的数据确定为所述当前音频数据帧的音量值。
S13、根据所述音量值以及所述音量条控件对应的最大音量值,计算所述音量值在所述音量条控件上的第一目标显示比例。
S14、根据所述第一目标显示比例以及所述音量条控件的宽度值,确定所述音量值在所述音量条控件上的第一目标绘制点。
S15、根据所述第一目标绘制点,采用双缓冲技术在所述音量条控件上进行音量值的显示。
本发明实施例中,通过在MFC中创建一个CWnd控件,以用来作为绘制音量条控件的容器(或称为画板),然后通过为CWnd控件设置用于消息回调的回调函数,如OnPain()窗口绘制消息,OnMouseMove()鼠标移动消息,OnLButtonDown()鼠标左键按下消息,OnLButtonUp()鼠标左键抬起,OnCreate()控件创建消息等,来自定义绘制一个音量强度刻度条。
回调函数是通过BOOST库提供的函数绑定方法定义函数回调,然后用库提供的方法将外部的函数设置到内部中定义的回调函数值中,最后在控件内部调用回调,函数实现其实是在外部定义的。
最后定义控件的一些属性,如音量值、音量最大值、音量峰值、背景的颜色或图片等和刻度列表(用来保存刻度占整个控件宽度的比例值)等。
本发明实施例提供的音量条的实现方法,通过监测当前音频数据帧的音量值,并采用双缓冲技术在创建的音量条控件的对应目标绘制点上进行该音量值的显示,能够以音量条的呈现形式实现对音频文件音量值的高效显示,使得用户能够很好地感知音频数据流的音量强度,提升用户的使用体验。此外,对于音频相关的应用程序的开发,本发明实施例还能够协助研发人员在开发过程中更好的完成应用程序的功能测试。
参见图2,本实施例中的步骤S15,具体包括以下步骤:
S151、采用双缓存技术创建一个与所述音量条控件对应的位图对象。
操作流程具体如下,创建GDI双缓冲,首先通过CreateCompatibleDC方法创建一个临时DC,然后通过CreateCompatibleBitmap方法创建一个HBITMAP,最后通过SelectObject方法将HBITMAP选到临时DC中,这样就完成双缓冲创建。
S152、对所述位图对象进行背景渲染。
CWnd控件配置有一些属性,包括音量值、音量最大值、音量峰值、背景的颜色或图片等。本发明实施例可根据CWnd控件配置的背景的颜色或图片属性,实现对所述位图对象的背景渲染。
S153、根据所述第一目标绘制点以及所述音量条控件的起始像素点,确定所述音量值在所述位图对象中对应的第一待渲染区域。
S154、背景渲染完成后,对所述第一待渲染区域进行渲染。
S155、将渲染后的位图对象绘制到所述音量条控件。
本发明实施例中使用GDI双缓冲技术对音量条控件进行高效渲染,能够有效地提高音量条的显示速度和显示效果,提升用户的使用体验。
图3示意性示出了本发明另一实施例提供的音量条的实现方法的流程图。参照图3,本发明实施例的音量条的实现方法具体包括以下步骤:
S21、创建音量条控件;
S22、设置所述音量条控件对应的最大音量值。
S23、根据所述最大音量值以及预设的单位刻度值计算所述音量条控件的刻度线数量,并计算每一刻度线在所述音量条控件上的显示比例。本发明实施例中,采用刻度列表的方式实现对每一刻度线在音量条控件上的显示比例进行保存。
S24、根据每一刻度线在所述音量条控件上的显示比例以及所述音量条控件的宽度值,确定各刻度线在所述音量条控件上的各个刻度绘制点。
S25、根据所述各个刻度绘制点,采用双缓冲技术在所述音量条控件上进行刻度线的显示。
S26、监测当前音频数据帧的音量值;
S27、根据所述音量值以及所述音量条控件对应的最大音量值,计算所述音量值在所述音量条控件上的第一目标显示比例;
S28、根据所述第一目标显示比例以及所述音量条控件的宽度值,确定所述音量值在所述音量条控件上的第一目标绘制点;
S29、根据所述第一目标绘制点,采用双缓冲技术在所述音量条控件上进行音量值的显示。
本实施例中,通过采用双缓存技术创建一个与所述音量条控件对应的位图对象;根据确定各刻度线在所述音量条控件上的各个刻度绘制点确定各刻度线在所述位图对象中对应的刻度线渲染区域;对所述刻度线渲染区域进行渲染。在完成对刻度线的渲染之后,对所述位图对象进行背景渲染,并在背景渲染完成后,对所述第一待渲染区域进行渲染,最后将渲染后的位图对象绘制到所述音量条控件。
为了使得用户能够很好地感知音频数据流的音量强度,提升用户的使用体验,本发明实施例中加入了对音量条刻度信息的显示,具体实现如下:
首先初始化音量值属性;然后计算刻度显示比例并添加到刻度列表中。控件刻度最小值是0,最大值是96单位分贝,刻度与刻度之间的单位为6分贝,这样整个控件就有16个刻度。由于0分贝是标准设定,是根据听力正常的人所能听到的最小声音而厘定的。每增加10分贝等于强度增加10倍,增加20分贝增加100倍,30分贝则增加1000倍。这样每一个相邻的刻度与刻度的单位长度是不一样的(显示比例也不同),而且还与对数有关,下面介绍计算公式和代码:
计算96(控件显示最大值)分贝在数轴上对应的点:
maxLinear=-log10(0.0f+6.0f);
计算0(控件显示最小值)分贝在数轴上对应的点:
mixLinear=-log10(96.0f+6.0f);
由于每一个刻度与刻度之间的单位为6分贝,所以计算刻度显示比例为:
m_graduations[i]=(-log10(96.0f+6.0f*(i))-minLinear)/(maxLinear-minLinear);
当i等于0时-log10(96.0f+6.0f*(0))大于minLinear值,相减为minLinear点到-log10(96.0f+6.0f*(0))点的距离,同理maxLinear–minLinear为整个长度,所以以上二者的比值为刻度占整个控件宽度的比例值。同理当i=1,2,3….使用上述公式计算响应比值。
最后通过CreateSolidBrush API创建画刷,以采用双缓冲技术在所述音量条控件上进行刻度线的显示。
通过上面的方法可以完成音量强度刻度条。由于刻度条需要实时的渲染,因此,为了避免窗口闪烁问题,本发明实施例使用了双缓冲技术,又由于音量每增加10分贝等于强度增加10倍,因此本发明实施例使用公式计算音量值占整个控件宽度的显示比例,在通过显示比例找到绘制点,最后在绘制点上进行绘制。
在本发明的一个可选实施例中,所述方法还包括对音频数据帧的音量最大值进行现实的步骤,具体包括:在监测当前音频数据帧的音量值的同时,监测当前音频数据帧的音量最大值;根据所述音量最大值以及所述音量条控件对应的最大音量值,计算所述音量最大值在所述音量条控件上的第二目标显示比例;根据所述第二目标显示比例以及所述音量条控件的宽度值,确定所述音量最大值在所述音量条控件上的第二目标绘制点;根据所述第二目标绘制点,采用双缓冲技术在所述音量条控件上进行音量最大值的显示。其中,所述根据所述第二目标绘制点,采用双缓冲技术在所述音量条控件上进行音量最大值的显示,具体包括:在对所述第一待渲染区域进行渲染之后,根据所述第一目标绘制点和第二目标绘制点,确定所述音量最大值在所述位图对象中对应的第二待渲染区域;对所述第二待渲染区域进行渲染,其中,第一待渲染区域与第二待渲染区域采用不同显示状态进行渲染。本实施例中的显示状态包括颜色或亮度或格式,如渐变格式等。
在本发明的一个可选实施例中,所述方法还包括对音频数据帧的音量峰值进行现实的步骤,具体包括:在监测当前音频数据帧的音量值的同时,监测预设时间长度内播放的音频数据流的音量峰值;根据所述音量峰值以及所述音量条控件对应的最大音量值,计算所述音量峰值在所述音量条控件上的第三目标显示比例;根据所述第三目标显示比例以及所述音量条控件的宽度值,确定所述音量峰值在所述音量条控件上的第三目标绘制点;根据所述第三目标绘制点,采用双缓冲技术在所述音量条控件上进行音量峰值的显示。其中,所述根据所述第三目标绘制点,采用双缓冲技术在所述音量条控件上进行音量峰值的显示,具体包括:在所述对所述第二待渲染区域进行渲染之后,根据所述第三目标绘制点确定所述音量峰值在所述位图对象中对应的第三待渲染区域;对所述第三待渲染区域进行渲染,其中,第三待渲染区域与第二待渲染区域采用不同显示状态进行渲染。本实施例中的显示状态包括颜色或亮度或格式,如渐变格式等。其中,第三待渲染区域也可以采用一个具有特殊标识的刻度线进行突出显示,以于音量值和音量最大值的显示区域进行区分,便于用户识别。
下面通过一个具体实施例对本发明技术方案音量条的实现方法进行解释说明。
主要分为五部分绘制,控件背景绘制,音量刻度绘制,音量值绘制,音量最大值绘制和音量峰值绘制。
操作流程介绍:创建GDI双缓冲,首先通过CreateCompatibleDC方法创建一个临时DC,然后通过CreateCompatibleBitmap方法创建一个HBITMAP,最后通过SelectObject方法将HBITMAP选到临时DC中,这样就完成双缓冲创建(通过使用双缓冲来达到实时的目的),把控件背景,音量刻度等五部分(后面介绍)绘制到双缓冲中,最后用BitBlt把双缓冲绘制到控件中并清除缓冲。
1)控件背景绘制
比较简单使用FillRect API并设置绘制坐标和画刷;
2)刻度绘制
由于已经得到了所有的刻度占整个控件宽度的比例值,所以只要遍历刻度列表按照比例计算绘制点公式如下:
X=cx*scale;
其中,cx为控件宽度,scale为比例值,X为绘制点像素值。最后在绘制点绘制刻度。
3)音量值绘制
首先通过上述介绍的公式计算音量占整个控件宽度的比例值,然后使用X=cx*scale公式计算绘制点,最后FillRect API绘制,开始点为控件(0,0)处,结束为上述的绘制点。
4)音量最大值绘制
首先计算音量最大值占整个控件宽度的比例值,然后使用公式计算音量最大值结束点:
x=cx+(LONG)(w*maxScale);
其中,cx为音量值结束绘制点即音量最大值开始点,最后使用GdiGradientFill进行梯度渐变绘制,这样就完成了音量最大值绘制。
5)音量峰值绘制
由于峰值比上述的两个值都要大,本发明实施例中可以采用一个红色的刻度来显示,首先计算音量峰值占整个控件宽度的比例值,然后使用FillRect API按照比例值计算的绘制点绘制红色的刻度线。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
图4示意性示出了本发明实施例一种音量条的实现装置的结构示意图。参照图4,本发明实施例的音量条的实现装置具体包括生成模块401、监测模块402、计算模块403、确定模块404以及显示模块405,其中:所述的生成模块401,用于创建音量条控件;所述的监测模块402,用于监测当前音频数据帧的音量值;所述的计算模块403,用于根据所述监测模块402得到的音量值以及所述音量条控件对应的最大音量值,计算所述音量值在所述音量条控件上的第一目标显示比例;所述的确定模块404,用于根据所述计算模块403得到的第一目标显示比例以及所述音量条控件的宽度值,确定所述音量值在所述音量条控件上的第一目标绘制点;所述的显示模块405,用于根据所述第一目标绘制点,采用双缓冲技术在所述生成模块401创建的音量条控件上进行音量值的显示。
本发明实施例提供的音量条的实现装置,通过监测模块402监测当前音频数据帧的音量值,以供显示模块405采用双缓冲技术在生成模块401创建的音量条控件的对应目标绘制点上进行该音量值的显示,能够以音量条的呈现形式实现对音频文件音量值的高效显示,使得用户能够很好地感知音频数据流的音量强度,提升用户的使用体验。此外,对于音频相关的应用程序的开发,本发明实施例提供的技术方案还能够协助研发人员在开发过程中更好的完成应用程序的功能测试。
如图5所示,本发明实施例中提出的显示模块405,进一步包括创建单元4051、渲染单元4052、确定单元4053以及显示单元4054,其中:所述的创建单元4051,用于采用双缓存技术创建一个与所述音量条控件对应的位图对象;所述的渲染单元4052,用于对所述位图对象进行背景渲染;所述的确定单元4053,用于根据所述第一目标绘制点以及所述音量条控件的起始像素点,确定所述音量值在所述位图对象中对应的第一待渲染区域;所述的渲染单元4052,还用于背景渲染完成后,对所述第一待渲染区域进行渲染;所述的显示单元4054,用于将渲染后的位图对象绘制到所述音量条控件。
本发明实施例中提出的音量条的实现装置,还包括附图中未示出的配置模块,所述的配置模块,用于在所述创建音量条控件之后,设置所述音量条控件对应的最大音量值。
相应的,所述的计算模块403,还用于根据所述最大音量值以及预设的单位刻度值计算所述音量条控件的刻度线数量,并计算每一刻度线在所述音量条控件上的显示比例;所述的确定模块404,还用于根据每一刻度线在所述音量条控件上的显示比例以及所述音量条控件的宽度值,确定各刻度线在所述音量条控件上的各个刻度绘制点;所述的显示模块405,还用于根据所述各个刻度绘制点,采用双缓冲技术在所述音量条控件上进行刻度线的显示。
本实施例中,所述的显示模块405中的确定单元,还用于在对所述第一待渲染区域进行渲染之前,根据确定各刻度线在所述音量条控件上的各个刻度绘制点确定各刻度线在所述位图对象中对应的刻度线渲染区域;所述的显示模块405中的述渲染单元,还用于对所述刻度线渲染区域进行渲染。
在本发明的一个可选实施例中,所述的监测模块402,还用于监测当前音频数据帧的音量最大值;所述计算模块403,还用于根据所述音量最大值以及所述音量条控件对应的最大音量值,计算所述音量最大值在所述音量条控件上的第二目标显示比例;所述确定模块404,还用于根据所述第二目标显示比例以及所述音量条控件的宽度值,确定所述音量最大值在所述音量条控件上的第二目标绘制点;所述显示模块405,还用于根据所述第二目标绘制点,采用双缓冲技术在所述音量条控件上进行音量最大值的显示。
本实施例中,所述的显示模块405中的确定单元,还用于在对所述第一待渲染区域进行渲染之后,根据所述第一目标绘制点和第二目标绘制点,确定所述音量最大值在所述位图对象中对应的第二待渲染区域;所述的显示模块405中的渲染单元,还用于对所述第二待渲染区域进行渲染,其中,第一待渲染区域与第二待渲染区域的采用不同显示状态进行渲染。
在本发明的一个可选实施例中,所述的监测模块402,还用于监测预设时间长度内播放的音频数据流的音量峰值;所述的计算模块403,还用于根据所述音量峰值以及所述音量条控件对应的最大音量值,计算所述音量峰值在所述音量条控件上的第三目标显示比例;所述的确定模块404,还用于根据所述第三目标显示比例以及所述音量条控件的宽度值,确定所述音量峰值在所述音量条控件上的第三目标绘制点;所述的显示模块405,还用于根据所述第三目标绘制点,采用双缓冲技术在所述音量条控件上进行音量峰值的显示。
本实施例中,所述的显示模块405中的确定单元,还用于在所述对所述第二待渲染区域进行渲染之后,根据所述第三目标绘制点确定所述音量峰值在所述位图对象中对应的第三待渲染区域;所述的显示模块405中的述渲染单元,还用于对所述第三待渲染区域进行渲染,其中,第三待渲染区域与第二待渲染区域采用不同显示状态进行渲染。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例提供的音量条的实现方法及装置,通过监测当前音频数据帧的音量值,并采用双缓冲技术在创建的音量条控件的对应目标绘制点上进行该音量值的显示,能够以音量条的呈现形式实现对音频文件音量值的高效显示,使得用户能够很好地感知音频数据流的音量强度,提升用户的使用体验。
此外,本发明实施例提供的音量条的实现方法及装置,应用于对于音频相关的应用程序的开发,能够协助研发人员在开发过程中更好的完成应用程序的功能测试。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种音量条的实现方法,其特征在于,所述方法包括:
创建音量条控件;
监测当前音频数据帧的音量值;
根据所述音量值以及所述音量条控件对应的最大音量值,计算所述音量值在所述音量条控件上的第一目标显示比例;
根据所述第一目标显示比例以及所述音量条控件的宽度值,确定所述音量值在所述音量条控件上的第一目标绘制点;
根据所述第一目标绘制点,采用双缓冲技术在所述音量条控件上进行音量值的显示。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一目标绘制点,采用双缓冲技术在所述音量条控件上进行音量值的显示,包括:
采用双缓存技术创建一个与所述音量条控件对应的位图对象;
对所述位图对象进行背景渲染;
根据所述第一目标绘制点以及所述音量条控件的起始像素点,确定所述音量值在所述位图对象中对应的第一待渲染区域;
背景渲染完成后,对所述第一待渲染区域进行渲染;
将渲染后的位图对象绘制到所述音量条控件。
3.根据权利要求1或2所述的方法,其特征在于,在所述创建音量条控件之后,所述方法还包括:
设置所述音量条控件对应的最大音量值;
根据所述最大音量值以及预设的单位刻度值计算所述音量条控件的刻度线数量,并计算每一刻度线在所述音量条控件上的显示比例;
根据每一刻度线在所述音量条控件上的显示比例以及所述音量条控件的宽度值,确定各刻度线在所述音量条控件上的各个刻度绘制点;
根据所述各个刻度绘制点,采用双缓冲技术在所述音量条控件上进行刻度线的显示。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
监测当前音频数据帧的音量最大值;
根据所述音量最大值以及所述音量条控件对应的最大音量值,计算所述音量最大值在所述音量条控件上的第二目标显示比例;
根据所述第二目标显示比例以及所述音量条控件的宽度值,确定所述音量最大值在所述音量条控件上的第二目标绘制点;
根据所述第二目标绘制点,采用双缓冲技术在所述音量条控件上进行音量最大值的显示。
5.根据权利要求2或4所述的方法,其特征在于,所述方法还包括:
监测预设时间长度内播放的音频数据流的音量峰值;
根据所述音量峰值以及所述音量条控件对应的最大音量值,计算所述音量峰值在所述音量条控件上的第三目标显示比例;
根据所述第三目标显示比例以及所述音量条控件的宽度值,确定所述音量峰值在所述音量条控件上的第三目标绘制点;
根据所述第三目标绘制点,采用双缓冲技术在所述音量条控件上进行音量峰值的显示。
6.一种音量条的实现装置,其特征在于,所述装置包括:
生成模块,用于创建音量条控件;
监测模块,用于监测当前音频数据帧的音量值;
计算模块,用于根据所述音量值以及所述音量条控件对应的最大音量值,计算所述音量值在所述音量条控件上的第一目标显示比例;
确定模块,用于根据所述第一目标显示比例以及所述音量条控件的宽度值,确定所述音量值在所述音量条控件上的第一目标绘制点;
显示模块,用于根据所述第一目标绘制点,采用双缓冲技术在所述音量条控件上进行音量值的显示。
7.根据权利要求6所述的装置,其特征在于,所述显示模块,包括:
创建单元,用于采用双缓存技术创建一个与所述音量条控件对应的位图对象;
渲染单元,用于对所述位图对象进行背景渲染;
确定单元,用于根据所述第一目标绘制点以及所述音量条控件的起始像素点,确定所述音量值在所述位图对象中对应的第一待渲染区域;
所述渲染单元,还用于背景渲染完成后,对所述第一待渲染区域进行渲染;
显示单元,用于将渲染后的位图对象绘制到所述音量条控件。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
配置模块,用于在所述创建音量条控件之后,设置所述音量条控件对应的最大音量值;
所述计算模块,还用于根据所述最大音量值以及预设的单位刻度值计算所述音量条控件的刻度线数量,并计算每一刻度线在所述音量条控件上的显示比例;
所述确定模块,还用于根据每一刻度线在所述音量条控件上的显示比例以及所述音量条控件的宽度值,确定各刻度线在所述音量条控件上的各个刻度绘制点;
所述显示模块,还用于根据所述各个刻度绘制点,采用双缓冲技术在所述音量条控件上进行刻度线的显示。
9.根据权利要求7所述的装置,其特征在于,
所述监测模块,还用于监测当前音频数据帧的音量最大值;
所述计算模块,还用于根据所述音量最大值以及所述音量条控件对应的最大音量值,计算所述音量最大值在所述音量条控件上的第二目标显示比例;
所述确定模块,还用于根据所述第二目标显示比例以及所述音量条控件的宽度值,确定所述音量最大值在所述音量条控件上的第二目标绘制点;
所述显示模块,还用于根据所述第二目标绘制点,采用双缓冲技术在所述音量条控件上进行音量最大值的显示。
10.根据权利要求7或9所述的装置,其特征在于,
所述监测模块,还用于监测预设时间长度内播放的音频数据流的音量峰值;
所述计算模块,还用于根据所述音量峰值以及所述音量条控件对应的最大音量值,计算所述音量峰值在所述音量条控件上的第三目标显示比例;
所述确定模块,还用于根据所述第三目标显示比例以及所述音量条控件的宽度值,确定所述音量峰值在所述音量条控件上的第三目标绘制点;
所述显示模块,还用于根据所述第三目标绘制点,采用双缓冲技术在所述音量条控件上进行音量峰值的显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611121523.7A CN108182097B (zh) | 2016-12-08 | 2016-12-08 | 一种音量条的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611121523.7A CN108182097B (zh) | 2016-12-08 | 2016-12-08 | 一种音量条的实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108182097A true CN108182097A (zh) | 2018-06-19 |
CN108182097B CN108182097B (zh) | 2021-07-30 |
Family
ID=62544784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611121523.7A Active CN108182097B (zh) | 2016-12-08 | 2016-12-08 | 一种音量条的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108182097B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110636329A (zh) * | 2018-06-22 | 2019-12-31 | 视联动力信息技术股份有限公司 | 一种音频数据的处理方法和装置 |
CN113014977A (zh) * | 2021-02-07 | 2021-06-22 | 青岛海信传媒网络技术有限公司 | 显示设备及音量显示方法 |
CN114520949A (zh) * | 2022-02-10 | 2022-05-20 | 维沃移动通信有限公司 | 音量控制方法、装置、设备及介质 |
CN116266852A (zh) * | 2021-12-16 | 2023-06-20 | 成都鼎桥通信技术有限公司 | 音量调整方法、装置和电子设备 |
CN117724629A (zh) * | 2023-12-07 | 2024-03-19 | 广东保伦电子股份有限公司 | 一种音量可视化方法、装置、设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2286885B (en) * | 1994-02-17 | 1997-10-15 | Sony Uk Ltd | A display device |
US20030187651A1 (en) * | 2002-03-28 | 2003-10-02 | Fujitsu Limited | Voice synthesis system combining recorded voice with synthesized voice |
CN1567985A (zh) * | 2003-06-30 | 2005-01-19 | 台达电子工业股份有限公司 | 视听装置的音量调低方法 |
JP2006268209A (ja) * | 2005-03-23 | 2006-10-05 | Akinori Yoshino | ユーザの身体動作による遠隔命令入力装置 |
CN101379874A (zh) * | 2006-03-03 | 2009-03-04 | 唯听助听器公司 | 助听器和用于助听器中的直达声补偿的方法 |
CN103209341A (zh) * | 2013-03-19 | 2013-07-17 | 深圳市龙视传媒有限公司 | 一种音量条的显示方法、系统以及数字电视终端 |
CN102610229B (zh) * | 2011-01-21 | 2013-11-13 | 安凯(广州)微电子技术有限公司 | 一种音频动态范围压缩方法、装置及设备 |
CN103703766A (zh) * | 2011-07-14 | 2014-04-02 | 株式会社理光 | 多点连接装置和通信系统 |
-
2016
- 2016-12-08 CN CN201611121523.7A patent/CN108182097B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2286885B (en) * | 1994-02-17 | 1997-10-15 | Sony Uk Ltd | A display device |
US20030187651A1 (en) * | 2002-03-28 | 2003-10-02 | Fujitsu Limited | Voice synthesis system combining recorded voice with synthesized voice |
CN1567985A (zh) * | 2003-06-30 | 2005-01-19 | 台达电子工业股份有限公司 | 视听装置的音量调低方法 |
JP2006268209A (ja) * | 2005-03-23 | 2006-10-05 | Akinori Yoshino | ユーザの身体動作による遠隔命令入力装置 |
CN101379874A (zh) * | 2006-03-03 | 2009-03-04 | 唯听助听器公司 | 助听器和用于助听器中的直达声补偿的方法 |
CN102610229B (zh) * | 2011-01-21 | 2013-11-13 | 安凯(广州)微电子技术有限公司 | 一种音频动态范围压缩方法、装置及设备 |
CN103703766A (zh) * | 2011-07-14 | 2014-04-02 | 株式会社理光 | 多点连接装置和通信系统 |
CN103209341A (zh) * | 2013-03-19 | 2013-07-17 | 深圳市龙视传媒有限公司 | 一种音量条的显示方法、系统以及数字电视终端 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110636329A (zh) * | 2018-06-22 | 2019-12-31 | 视联动力信息技术股份有限公司 | 一种音频数据的处理方法和装置 |
CN113014977A (zh) * | 2021-02-07 | 2021-06-22 | 青岛海信传媒网络技术有限公司 | 显示设备及音量显示方法 |
CN113014977B (zh) * | 2021-02-07 | 2023-08-11 | Vidaa(荷兰)国际控股有限公司 | 显示设备及音量显示方法 |
CN116266852A (zh) * | 2021-12-16 | 2023-06-20 | 成都鼎桥通信技术有限公司 | 音量调整方法、装置和电子设备 |
CN114520949A (zh) * | 2022-02-10 | 2022-05-20 | 维沃移动通信有限公司 | 音量控制方法、装置、设备及介质 |
CN114520949B (zh) * | 2022-02-10 | 2024-05-03 | 维沃移动通信有限公司 | 音量控制方法、装置、设备及介质 |
CN117724629A (zh) * | 2023-12-07 | 2024-03-19 | 广东保伦电子股份有限公司 | 一种音量可视化方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108182097B (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108182097A (zh) | 一种音量条的实现方法及装置 | |
CN108182047B (zh) | 一种音量信息的显示方法及装置 | |
CN113192152B (zh) | 基于音频的图像生成方法、电子设备及存储介质 | |
RU2598802C2 (ru) | Способ, устройство и аппарат воспроизведения анимации | |
EP3917131A1 (en) | Image deformation control method and device and hardware device | |
CN114025219B (zh) | 增强现实特效的渲染方法、装置、介质及设备 | |
CN113082703B (zh) | 一种光标显示方法、装置及介质 | |
CN107340964A (zh) | 一种视图的动画效果实现方法及装置 | |
CN114245028B (zh) | 图像展示方法、装置、电子设备及存储介质 | |
CN110047123A (zh) | 一种地图渲染方法、装置、存储介质及计算机程序产品 | |
CN109375983A (zh) | 终端内输入法窗口自动调整的方法 | |
CN105760238A (zh) | 图形指令数据的处理方法和装置及系统 | |
US20190005156A1 (en) | Data flow visualization system | |
CN109621418B (zh) | 一种游戏中虚拟角色的表情调整及制作方法、装置 | |
CN101593541A (zh) | 一种与音频文件同步播放图像的方法及媒体播放器 | |
CN110187816A (zh) | 漫画类型电子书的自动翻页方法、计算设备及存储介质 | |
CN105979283A (zh) | 视频转码方法和装置 | |
CN108184159A (zh) | 一种进度条的实现方法及装置 | |
CN109117053A (zh) | 界面内容的动态显示方法、装置及其设备 | |
CN112516595B (zh) | 岩浆渲染方法、装置、设备和存储介质 | |
CN103701982B (zh) | 用户终端显示内容的调整方法、装置和系统 | |
CN110322525B (zh) | 一种动图处理方法及终端 | |
CN109871465B (zh) | 一种时间轴计算方法、装置、电子设备及存储介质 | |
CN112767508B (zh) | 针对呼吸门控图像的伪彩显示方法、系统、设备以及介质 | |
CN110599394A (zh) | 在线演示文稿中的图片处理方法、装置、存储介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |