unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Classes, Graphics, Controls,
  Forms, Dialogs,mmSystem, ComCtrls, StdCtrls, Buttons;/////
  //////////////////mmSystem!!!!type
  TForm1 = class(TForm)
    TrackBar1: TTrackBar;
    Label1: TLabel;
    TrackBar2: TTrackBar;
    Label2: TLabel;
    Label3: TLabel;
    TrackBar3: TTrackBar;
    procedure TrackBar1Change(Sender: TObject);
    procedure TrackBar2Change(Sender: TObject);
    procedure TrackBar3Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.DFM}procedure TForm1.TrackBar1Change(Sender: TObject);
var t,v:longint;
begin
  //Set TraackBar1.max:=255;
  t:=TrackBar1.Position;
  //v's high 16 bits:right Blast; v's low 16 bits:left blast
  v:=(t shl 8)or(t shl 24);
  if WaveOutSetVolume(0,v)<>MMSYSERR_NOERROR then
    ShowMessage('Fail!');
end;procedure TForm1.TrackBar2Change(Sender: TObject);
var t,v:longint;
begin
  t:=TrackBar2.Position;
  WaveOutGetVolume(0,@v);;//Change left blast while keep right
  v:=v and $ffff0000 or (t shl 8);
  WaveOutSetVolume(0,v);
end;procedure TForm1.TrackBar3Change(Sender: TObject);
var t,v:longint;
begin
  t:=TrackBar3.Position;
  WaveOutGetVolume(0,@v);//Change right blast while keep left
  v:=v and $0000ffff or (t shl 24);
  WaveOutSetVolume(0,v);
end;procedure TForm1.FormCreate(Sender: TObject);
var v:longint;
begin
  WaveOutGetVolume(0,@v);
  TrackBar2.Position:=hi(v);
  TrackBar3.Position:=hi(v shl 16);
  //only use high 8 bits,you can get more obvious effect
  // For WaveFormFile,you can use WaveOutGetVolume
  // For cd File,you can use auxgetvulume;
  TrackBar1.Position:=(TrackBar2.Position+TrackBar3.Position)div  2;
end;end.

解决方案 »

  1.   

    用waveoutgetvolume()和waveoutsetvolume()函数,具体使用请参考2000年电脑报合订本
      

  2.   

    delphi的mediaplay控件中好像没有类似的设置,估计要使用内嵌汇编语言了,因为要用到对硬件的操作。或者应该使用api函数
      

  3.   

    //立体声
    mciSendString('set all audio all on', nil, 0, Handle);
    {立体声}
    //左声道
    mciSendString('set all audio all off', nil, 0, Handle);
    mciSendString('set all audio left on', nil, 0, Handle);
    {左声道}
    //右声道
    mciSendString('set all audio all off', nil, 0, Handle);
    mciSendString('set all audio right on', nil, 0, Handle);
    {右声道}
      

  4.   

    上面都理解错了播放器是有声音,而且也可以调
    但是有些格式的VCD只有伴音,没有唱歌声音,用其他播放器则有唱歌声音
    这是什么回事?