主题:介绍一个象千千静听一样显示音量波形的控件
介绍一个象千千静听一样显示声卡动态音量波形的控件
压缩包内还有用此控件做的播放器VB源代码。
这个控件能使你的音频播放器象千千一样显示漂亮的音量波形。一直以来,我自编的播放器都使用随机函数来模拟音量波形,但这个控件是获取的声卡实时数据。
这不是我的原创,而是从网上下载的,我仅做了一些整理。
Jiac.dll是音频解码器(支持格式:MOD、MP3、OGG、WMA、AIFF、MIDI、CD),最好复制到系统的SYSTEM32目录下,否则调试时可能会报错(但生成exe后就好了)。
DSPShow.ocx是调用Jiac.dll的接口的控件(所以我们不得不用Jiac.dll),可输出动态音量波形数据。
RM、RMVB和其它类型的文件,能播放但可能获取不到DSP 数据。
以下是DSPShow.ocx控件的属性、方法、事件。
属性:
---------------------------------
BackColor: 长整型,背景颜色
DspColor: 长整型,波形颜色
PeakColor: 长整型,顶部小点颜色
BackPicture:字符型,背景图片全路径文件名(BackPicture = ""为清除背景图片)
Balance: 整型,声道音量平衡(-512L—0LR—512R)
DspStorm: 逻辑型,是否使用顶部小点
DspStyle: 整型,效果样式:0-自定义;1-柱形;2-半波形;3-全波形;4-圆圈;5-宽全波形
DspSpeed: 整型,效果显示速率(1—30)
GetState: 当前状态(0-停止;1-播放;2-暂停)
MusicPos: 长整型,当前播放进度位置(ms)
MusicLength:长整型,播放长度(ms)
volume: 长整型,音量(0-1024)
方法:
----------------------------------
Cls: 清除画面
FileOpen: 打开音乐文件
MusicPlay: 播放音乐
MusicPause: 暂停/播放(切换)
MusicStop: 停止
Refresh: 刷新
SetFrequency:音乐播放速率(1—44100—88200)
SetMusicPos: 设置当前播放位置
事件:
---------------------------------
Click
DblClick
MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
DspDataOut:DSP数据输出,用于自定义效果
输出参数1:DrawSpectrumL()-单精度,左声道绘制范围,值域0-512
输出参数2:DrawSpectrumR()-单精度,右声道绘制范围,值域0-512
输出参数3:DrawOscilliscopeL()-单精度,左声道波形数据,值域0-256
输出参数4:DrawOscilliscopeR()-单精度,右声道波形数据,值域0-256
压缩包内还有用此控件做的播放器VB源代码。
这个控件能使你的音频播放器象千千一样显示漂亮的音量波形。一直以来,我自编的播放器都使用随机函数来模拟音量波形,但这个控件是获取的声卡实时数据。
这不是我的原创,而是从网上下载的,我仅做了一些整理。
Jiac.dll是音频解码器(支持格式:MOD、MP3、OGG、WMA、AIFF、MIDI、CD),最好复制到系统的SYSTEM32目录下,否则调试时可能会报错(但生成exe后就好了)。
DSPShow.ocx是调用Jiac.dll的接口的控件(所以我们不得不用Jiac.dll),可输出动态音量波形数据。
RM、RMVB和其它类型的文件,能播放但可能获取不到DSP 数据。
以下是DSPShow.ocx控件的属性、方法、事件。
属性:
---------------------------------
BackColor: 长整型,背景颜色
DspColor: 长整型,波形颜色
PeakColor: 长整型,顶部小点颜色
BackPicture:字符型,背景图片全路径文件名(BackPicture = ""为清除背景图片)
Balance: 整型,声道音量平衡(-512L—0LR—512R)
DspStorm: 逻辑型,是否使用顶部小点
DspStyle: 整型,效果样式:0-自定义;1-柱形;2-半波形;3-全波形;4-圆圈;5-宽全波形
DspSpeed: 整型,效果显示速率(1—30)
GetState: 当前状态(0-停止;1-播放;2-暂停)
MusicPos: 长整型,当前播放进度位置(ms)
MusicLength:长整型,播放长度(ms)
volume: 长整型,音量(0-1024)
方法:
----------------------------------
Cls: 清除画面
FileOpen: 打开音乐文件
MusicPlay: 播放音乐
MusicPause: 暂停/播放(切换)
MusicStop: 停止
Refresh: 刷新
SetFrequency:音乐播放速率(1—44100—88200)
SetMusicPos: 设置当前播放位置
事件:
---------------------------------
Click
DblClick
MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
DspDataOut:DSP数据输出,用于自定义效果
输出参数1:DrawSpectrumL()-单精度,左声道绘制范围,值域0-512
输出参数2:DrawSpectrumR()-单精度,右声道绘制范围,值域0-512
输出参数3:DrawOscilliscopeL()-单精度,左声道波形数据,值域0-256
输出参数4:DrawOscilliscopeR()-单精度,右声道波形数据,值域0-256