如题,不要告诉我把音量调到最小或静音,那样其它程序也没声了

解决方案 »

  1.   

    如何用TMediaPlayer控件播放媒体文件不播放声音
      

  2.   

    waveOutSetVolume 你试试 基本没有别的办法了!超级解霸 RealPlayer都是调节音量呀!
    t:=TrackBar1.Position;
    v:=(t shl 8)or(t shl 24);
    waveOutSetVolume(0,v);
    好象没有别的办法,除非VCD左右声道切换!
      

  3.   

    据你的要求测试成功,可以自由改变用media控件播放的声音。0为没音。此情况不影响别的播放,和设备。。把整个都贴出来,,呵呵给分吧。。unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs,mmsystem, ExtCtrls, StdCtrls, MPlayer;const
      MCI_SETAUDIO= $873;
      MCI_DGV_SETAUDIO_VALUE=$01000000;
      MCI_DGV_SETAUDIO_VOLUME=$4002;
      MCI_DGV_SETAUDIO_ITEM=$00800000;type MCI_DGV_SETAUDIO_PARMS=record
      dwCallback:DWORD;
      dwItem:DWORD;
      dwValue:DWORD;
      dwOver:DWORD;
      lpstrAlgorithm:PChar;
      lpstrQuality:PChar;
      end;type
      TForm1 = class(TForm)
        Med: TMediaPlayer;
        Button1: TButton;
        Panel1: TPanel;
        Op: TOpenDialog;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      IntVolume:integer;
      s:MCI_DGV_SETAUDIO_PARMS;
    begin
       IntVolume:=0;          //可改动的参数,0,为当播放静音。。
       s.dwValue:=IntVolume;
       s.dwItem:=MCI_DGV_SETAUDIO_VOLUME;
       IntVolume := mciSendCommand(med.DeviceID,MCI_SETAUDIO,
       MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM,integer(@s));
       showmessage(inttostr(IntVolume));
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      op.Execute;
      med.FileName :=op.FileName ;
      med.Open ;
      med.Play ;
    end;end.
      

  4.   

    to cbdiy( )
    问题解决,十分感谢!