2000下:播放dat(vcd)、avi、mpg都没有问题,但播放wmv\asf却提示初始化mci时 发生错误,我已经安装了Windows MediaPlayer9了XP下:播放除dat(vcd)之外的文件如wmv\asf\mpg\avi\mp3\wma都没有问题,播dat时出现的错误相信大家都知道:无法通过给定的扩展名确定设备类型     我已经在
win.ini中的[mci extensions]下加入了DAT=MPEGVideo这句了,可还是不行,Windows MediaPlayer的版本是9,应该也没问题这些情况到底是怎么回事呢?

解决方案 »

  1.   

    試一試通過文件的擴展名來重新定義 MediaPlayer 的 DeviceType (dtDAT)看看。
      

  2.   

    安装MS MEDIA PLAY 应该可以播放!
      

  3.   

    楼上的,我已经装了ms mediaplayer9了,难道还不行?
      

  4.   

    看看我写的这些,能不能对你有所帮助我的是没有问题,DILPHI 6 WIN2003 XP测试通过.
    library MD_AutoMICFileStpe;
    uses
      SysUtils,IniFiles,Classes,windows;{$R *.res}
    function CheckSystemMICSendAll: boolean; export; stdcall;   //格式支持
    var
      ConfigRam,ConfigRMVB,configWAV,configAvi,configRm,ConfigDat,ConfigMpga,ConfigWmv,configMov,configMP3:Tinifile;
      pc:pchar;
      MD_Ram,MD_Rmvb,MD_WAV,MD_Avi,MD_Rm,MD_Dat,MD_Mpga,MD_Wmv,MD_Mov,MD_MP3:string;
    begin
      result:=true;
      getmem(pc,255);
      GetWindowsDirectory(pc,255);
      ConfigRMVB:=Tinifile.Create(pc+'\Win.ini');        //Real 格式
      ConfigRam:=Tinifile.Create(pc+'\Win.ini');         //Real 格式
      ConfigWAV:=Tinifile.Create(pc+'\Win.ini');
      ConfigAvi:=Tinifile.Create(pc+'\Win.ini');
      ConfigRm:=Tinifile.Create(pc+'\Win.ini');
      ConfigDat:=Tinifile.Create(pc+'\Win.ini');
      ConfigWmv:=Tinifile.Create(pc+'\Win.ini');        //WIN MEDIA 格式
      configMov:=Tinifile.Create(pc+'\Win.ini');
      configMP3:=Tinifile.Create(pc+'\Win.ini');
      MD_MP3:=configmp3.ReadString('mci extensions','mp3','');
      MD_Wmv:=configWmv.ReadString('mci extensions','Wmv','');
      MD_Mov:=configMov.ReadString('mci extensions','Mov','');
      MD_Dat:=configDat.ReadString('mci extensions','dat','');
      MD_Rm:=configRm.ReadString('mci extensions','rm','');
      MD_Avi:=configAvi.ReadString('mci extensions','avi','');
      MD_Ram:=ConfigRam.ReadString('mci extensions','ram','');
      MD_Rmvb:=ConfigRMVB.ReadString('mci extensions','rmvb','');
      MD_WAV:=configWAV.ReadString('mci extensions','wav','');
      configMpga:=tinifile.create(pc+'\Win.ini');
      MD_Mpga:=configMpga.ReadString('mci extensions','mpga','');
      if MD_MP3<>'MPEGVideo' then
      begin
        configMP3.WriteString('mci extensions','mp3','MPEGVideo');
        result:=false;
      end;
      if MD_Mov<>'MPEGVideo' then
      begin
        configMov.WriteString('mci extensions','Mov','MPEGVideo');
        result:=false;
      end;
      if MD_Mpga<>'MPEGVideo' then
      begin
        configMpga.WriteString('mci extensions','mpga','MPEGVideo');
        result:=false;
      end;
      if MD_Ram<>'MPEGVideo' then
      begin
        ConfigRam.WriteString('mci extensions','ram','MPEGVideo');
        result:=false;
      end;
      if MD_RMVB<>'MPEGVideo' then
      begin
        ConfigRMVB.WriteString('mci extensions','rmvb','MPEGVideo');
        result:=false;
      end;
      if MD_WAV<>'MPEGVideo' then
      begin
        ConfigWAV.WriteString('mci extensions','wav','MPEGVideo');
        result:=false;
      end;
       if MD_Avi<>'AVIVideo' then
      begin
        configAvi.WriteString('mci extensions','avi','AVIVideo');
        result:=false;
      end;
      if MD_Rm<>'MPEGVideo' then
      begin
        configRm.WriteString('mci extensions','rm','MPEGVideo');
        result:=false;
      end;
       if MD_Dat<>'MPEGVideo' then
      begin
        configDat.WriteString('mci extensions','dat','MPEGVideo');
        result:=false;
      end;
        if MD_Wmv<>'MPEGVideo' then
      begin
        configDat.WriteString('mci extensions','Wmv','MPEGVideo');
        result:=false;
      end;
        freemem(pc,255);
        ConfigRam.Free;
      END;
    EXPORTS
       CheckSystemMICSendAll;
    begin
    end.