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%的音量來播放,范例截圖如下,請自行查看代碼瀏覽。

image


設置音量就如上面講解的一樣非常容易。但要注意waveOutSetVolume僅設置WAVE輸出設備的音量,而不是設置主音量。主音量可通過多媒體混合控制器(multimedia mixer control)來控制設置,該設置不在我們的講解范圍中。

以上代碼均在Delphi 7下通過測試,示例代碼下載:TMediaPlayer.rar


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM