Delphi多媒体设计之TMediaPlayer组件(三)
设置输出音量(Setting the Output Volume)
设置Wave文件输出设备的音量相当简单,但是必须利用Windows API进行。waveOutGetVolume和waveOutSetVolume函数分别用来获取音量和设置音量。
音量以整型(integer)存储。高位字节(hight word)制定右声道音量设置,低位字节(low word)制定左声道音量设置。如果设备没有独立设置左、右声道音量的能力,则低位字节用于设置音量,高位字节被忽略。
0值是无音量,16进制值$FFFF则是最大音量。下列代码为设置左右声道音量为50%,当然前提是要在uses列表中引用MMSystem单元。
waveOutSetVolume(0, $80008000);
下面的例子设置音量为最大值:
waveOutSetVolume(0, $FFFFFFFF);
注意0被用作waveOutSetVolume的第一个参数;这多少有点给人假象,以为WAVE设备为0号设备,但情况几乎总是这样,因此第一个参数可设置为0。
上面的代码,做了两个小的范例,分别以50%和100%的音量来播放,范例截图如下,请自行查看代码浏览。
设置音量就如上面讲解的一样非常容易。但要注意waveOutSetVolume仅设置WAVE输出设备的音量,而不是设置主音量。主音量可通过多媒体混合控制器(multimedia mixer control)来控制设置,该设置不在我们的讲解范围中。
以上代码均在Delphi 7下通过测试,示例代码下载:TMediaPlayer.rar
posted on 2012-07-16 15:32 pchmonster 阅读(3468) 评论(2) 编辑 收藏 举报