自从上次被这个功能卡住的时候,我等了几个月.
终于灵感来了.
解决这个爆音问题的办法 .
Dsound支持声音从无衰(0)减到静音(-10,000)的增减变化.
但是人耳听到的声音大小,跟实际声音分贝的衰减量变化不是呈正比关系的.
是正相关的一个对数函数的关系.
参考维基-分贝:http://zh.wikipedia.org/zh-cn/%E5%88%86%E8%B2%9D
0分贝的标准设定,是根据听力正常的人所能听到的最小声音而厘定的。
每增加10分贝等于强度增为10倍,增加20分贝增为100倍,30分贝则增为1000倍。
即若要人耳听到一个均匀变化的声音.那么实际声音分贝就应按照一个底数大于1的对数函数进行变化.
简单的说,就是在声音很大时,1个分贝的变化对于人耳来说很大.
在声音很小时,1 个分贝的变化对于人耳来说,变化相对较小.
拿Windows系统下最常见的三种播放器,千千静听,Winamp,Foobar2000,来说,
在淡入淡出这个问题的处理上.
千千静听:感觉很不均匀.
Winamp:感觉均匀,但时间过短了些.
Foobar2000:这个开发组的人是从Winamp过来的.在这个功能的处理上跟Winamp差不多,我估计没改什么.
不过时间比Winamp长一些.听着比较舒适.
在我的播放器中,这个功能已经实现了.
大家可以拿来和上面这三款播放器比较一下.呵呵.
我自己感觉跟Foobar2000没有什么差别.
网友评论