自己手動利用其他API來完成如: waveoutsetvolume
waveoutsetvolume這個API式來控制WINDOWS裡的主音量
再利用BCB元件TrackBar和Edit來完成這個作業
程式碼主要是:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
DWORD volume;
TrackBar1->Max=100;
TrackBar1->Position = waveOUTGETVolume(0, &volume);
TrackBar1->Position = LOWORD(0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
int value = (TrackBar1->Position);
Edit1->Text=value;
waveOUTSETVolume(0, MAKELONG(value, value));
}
//---------------------------------------------------------------------------
這是在網路上看到的範例
TrackBar1->Max=100;
TrackBar1->Position = waveOUTGETVolume(0, &volume);
TrackBar1->Position = LOWORD(0);
這三行是先將TrackBar1設定最定最大最小的範圍和程式一打開的音量多少!!
int value = (TrackBar1->Position);
Edit1->Text=value;
waveOUTSETVolume(0, MAKELONG(value, value));
這三行則是隨著TrackBar1的移動來調整作業系統主音量來完成調整音量的效果!!!
基本程式碼就這樣完成了!!
沒有留言:
張貼留言