Widows MediaPlayer9。0中怎么才能实现原唱和件唱?谢谢

解决方案 »

  1.   

    它有个balance属性,从-100到100可变,0为左右声道平衡。
      

  2.   

    procedure TFormMain.LRC(Str: String);
    var
      s: MCI_DGV_SETAUDIO_PARMS ;
      err:integer;
      buf:array[0..1000] of char;
    begin  if MediaPlayer11.DeviceID>0 then
      begin
        err:=mciSendCommand(MediaPlayer11.DeviceID,MCI_SETAUDIO, MCI_SET_OFF ,integer(@s));
        if(err<>0)then
        begin
          mciGetErrorString(err,buf,sizeof(buf) );
          FormMain.MessageBoxShow('1',buf,2,True,10000);
        end;
        if Str='C' then
          s.dwValue:=MCI_DGV_SETAUDIO_SOURCE_STEREO; 
        if Str='L' then
          s.dwValue:=MCI_DGV_SETAUDIO_SOURCE_Left;
        if Str='R' then
          s.dwValue:=MCI_DGV_SETAUDIO_SOURCE_Right;
        s.dwItem:=MCI_DGV_SETAUDIO_SOURCE;
        err:=mciSendCommand(MediaPlayer11.DeviceID,MCI_SETAUDIO,MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM ,integer(@s));
        if (err<>0) then
        begin
          mciGetErrorString(err,buf,sizeof(buf) );
          FormMain.MessageBoxShow('1',buf,2,True,10000);
        end;
        err:=mciSendCommand(MediaPlayer11.DeviceID,MCI_SETAUDIO, MCI_SET_ON ,integer(@s));
        if (err<>0) then
        begin
          mciGetErrorString(err,buf,sizeof(buf) );
          FormMain.MessageBoxShow('1',buf,2,True,10000);
        end;
      end;
    end;以上是转载代码,希望对你有用。呵呵,应该是有用的,Mediaplayer本身很多东西是用mci的,所以用该可以用。
    本人最近也在编写这方面的东东,不过我是直接使用卡的SDK,VCD的已经实现了,DVD正准备编写测试。
      

  3.   

    看我的
      skynew.ys168.com中有很多方法。记得给我分。
      

  4.   

    lynmison(菻梓) ( ) 信誉:98