【
【小高】
Unregistered / Unconfirmed
GUEST, unregistred user!
定义:
const
MCI_SETAUDIO= $873;
MCI_SETVIDEO=$0876;
MCI_DGV_SETAUDIO_SOURCE_LEFT = 1;
MCI_DGV_SETAUDIO_SOURCE_STEREO = 0;
MCI_DGV_SETAUDIO_SOURCE_RIGHT = 2;
MCI_DGV_SETAUDIO_SOURCE = $00004004;
MCI_DGV_SETAUDIO_VALUE = $01000000;
MCI_DGV_SETAUDIO_ITEM = $00800000;
MCI_DGV_SETAUDIO_STREAM = $00004003;
MCI_DGV_SETAUDIO_VOLUME = $00004002;
type MCI_DGV_SETAUDIO_PARMS=record
dwCallbackWORD;
dwItemWORD;
dwValueWORD;
dwOverWORD;
lpstrAlgorithmChar;
lpstrQualityChar;
end ;
程序:
procedure TForm1.TrackBar2Change(Sender: TObject);
var
s: MCI_DGV_SETAUDIO_PARMS ;
begin
// Button1.Caption:=IntToStr(TrackBar2.Position);
s.dwOver:=TrackBar2.Position;//实际上这时可以是任何值。这个值不起任何作用。
s.dwItem:=MCI_DGV_SETAUDIO_VOLUME;
mciSendCommand(MediaPlayer1.DeviceID,MCI_SETAUDIO,
MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM,
integer(@s));
end;
这是一段用MCI控制Mediaplayer音量大小的程序。TrackBar2的Max是1000.
实际的效果是音量大小随TrackBar的拖动变大变小。
问题:
1、如果不注释//Button1.Caption:=IntToStr(TrackBar2.Position);这一条,也就是说随
TrackBar2的拖动改变Button1的标题,以上程序就没有作用了,Mediaplayer变得没有任何
声音,为什么??????
2、s.dwOver:=TrackBar2.Position;实际上这里可以是任何值。这个值不起任何作用。
并不要s.dwOver根本不用赋值。如果我不用TrackBar的拖动来改变音量大小。要如何处理?
3、要说明的是,我是用MediaPlayer控件播放VCD或DVD,声音是用[red]神龙卡[/red]设备输出,而不是用声卡,所以用WaveOutSetVolume调波形音量或系统主音量之类的方法可能
是不行。
请教各路大侠了。提着水壶的朋友提好了,不要把水倒在这里哦!
const
MCI_SETAUDIO= $873;
MCI_SETVIDEO=$0876;
MCI_DGV_SETAUDIO_SOURCE_LEFT = 1;
MCI_DGV_SETAUDIO_SOURCE_STEREO = 0;
MCI_DGV_SETAUDIO_SOURCE_RIGHT = 2;
MCI_DGV_SETAUDIO_SOURCE = $00004004;
MCI_DGV_SETAUDIO_VALUE = $01000000;
MCI_DGV_SETAUDIO_ITEM = $00800000;
MCI_DGV_SETAUDIO_STREAM = $00004003;
MCI_DGV_SETAUDIO_VOLUME = $00004002;
type MCI_DGV_SETAUDIO_PARMS=record
dwCallbackWORD;
dwItemWORD;
dwValueWORD;
dwOverWORD;
lpstrAlgorithmChar;
lpstrQualityChar;
end ;
程序:
procedure TForm1.TrackBar2Change(Sender: TObject);
var
s: MCI_DGV_SETAUDIO_PARMS ;
begin
// Button1.Caption:=IntToStr(TrackBar2.Position);
s.dwOver:=TrackBar2.Position;//实际上这时可以是任何值。这个值不起任何作用。
s.dwItem:=MCI_DGV_SETAUDIO_VOLUME;
mciSendCommand(MediaPlayer1.DeviceID,MCI_SETAUDIO,
MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM,
integer(@s));
end;
这是一段用MCI控制Mediaplayer音量大小的程序。TrackBar2的Max是1000.
实际的效果是音量大小随TrackBar的拖动变大变小。
问题:
1、如果不注释//Button1.Caption:=IntToStr(TrackBar2.Position);这一条,也就是说随
TrackBar2的拖动改变Button1的标题,以上程序就没有作用了,Mediaplayer变得没有任何
声音,为什么??????
2、s.dwOver:=TrackBar2.Position;实际上这里可以是任何值。这个值不起任何作用。
并不要s.dwOver根本不用赋值。如果我不用TrackBar的拖动来改变音量大小。要如何处理?
3、要说明的是,我是用MediaPlayer控件播放VCD或DVD,声音是用[red]神龙卡[/red]设备输出,而不是用声卡,所以用WaveOutSetVolume调波形音量或系统主音量之类的方法可能
是不行。
请教各路大侠了。提着水壶的朋友提好了,不要把水倒在这里哦!