我用Delphi7自带的TMediaPlayer控件编写一播放器,
TMediaPlayer的DeviceType属性:dtAutoSelect
当TMediaPlayer的FileName属性:至少还有你.avi,不能播放,错误信息为:
The MCI device you are using does not support the specified command.
但TMediaPlayer的FileName属性:背叛情歌.mpg,正常播放。
请问是什么原因?如何解决?
注:我已经是DivX 5.0 Pro了,用Window自带的“媒体播放器”可以播放!

解决方案 »

  1.   

    NewMediaPlayer1.Stop;
          NewMediaPlayer1.BaseURL :=FileName;
          NewMediaPlayer1.FileName:=FileName;
          NewMediaPlayer1.ClickToPlay;
      

  2.   

    Undeclared identifier:'BaseURL'
    Undeclared identifier:'ClickToPlay'
    老兄,根本没有这个属性和方法啊!
    不得分!
      

  3.   

    98下:
    begin
      WritePrivateProfileString('mci extensions', 'mpg', 'MPEGVideo', 'win.ini');
      WritePrivateProfileString('mci extensions', 'dat', 'MPEGVideo', 'win.ini');
      WritePrivateProfileString('mci extensions', 'mpv', 'MPEGVideo', 'win.ini');
      WritePrivateProfileString('mci extensions', 'mpeg', 'MPEGVideo', 'win.ini');
      WritePrivateProfileString('mci extensions', 'cjt', 'MPEGVideo', 'win.ini');
      WritePrivateProfileString('mci extensions', 'avi', 'AVIVideo', 'win.ini');
      WritePrivateProfileString('mci', 'MPEGVideo', 'mciqtz.drv', 'system.ini');
    上面的代码,也就是修改了win.ini,system.ini文件。2000下:
    1.改注册表:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\MCI32
    把MPEGVideo的键值改成想要的驱动就可,默认为"mciqtz32.dll"。
    2.HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\MCI Extensions    (新建键,键字符串为"dat",值为"MPEGVideo")
    包你解决
      

  4.   

    有可能你所要播放的那个文件根本不*.AVI文件,因为把*.DAT的扩展名改成AVI也可以播放.
      

  5.   

    //注:我已经是DivX 5.0 Pro了,用Window自带的“媒体播放器”可以播放! yehuijiang(灰色陌生人) ,你看清楚了!!!sorbety(sorbety):
    1、我如何知道该用那个驱动(*.dll)?
    2、"dat",值为"MPEGVideo"的字串早就存在了。而且我说的是不能播放AVI文件,不是MPEG。
    //背叛情歌.mpg,正常播放。
      

  6.   

    把那个。avi重命名为 。mpg
      

  7.   

    不可能,我做的播放器是可以的,!!!
    我的代吗是这样的if OpenDialog1.Execute then
      begin
        with MediaPlayer1 do
        begin
          FileName:= OpenDialog1.FileName;
          StatusBar1.Panels[0].Text:=FileName;
          StatusBar1.Panels[1].Text:= ExtractFileExt(OpenDialog1.FileName);
          AutoOpen:= true;
          open;
        end;
      end;
    现我还在用他播放各种文件,.avi是常常放,
      

  8.   

    if OpenDialog1.Execute then
      begin
        with MediaPlayer1 do
        begin
          FileName:= OpenDialog1.FileName;//用opendialog1控制得到文件路经名字
          StatusBar1.Panels[0].Text:=FileName;//在状态条上显示文件名
          StatusBar1.Panels[1].Text:= ExtractFileExt(OpenDialog1.FileName);//显示文件扩展名
          AutoOpen:= true;//打开mediaplayer1
          open;//准备播放,
        end;
      end;