MediaPlayer1点击开始播放时老是出现“no mci device open”,如何关掉它?请看程序...(50分)

  • 主题发起人 主题发起人 harmer
  • 开始时间 开始时间
H

harmer

Unregistered / Unconfirmed
GUEST, unregistred user!
属性:
MediaPlayer1.AutoRewind:=false;
MediaPlayer1.AutoOpen:=false;
-----------
调用:
function mdplay(i:integer):boolean;
begin
with form1 do
begin
//读入播放文件
filename:=ShellListView1.Folders.PathName;
filetime:=datetimetostr(filedatetodatetime(fileage(filename)));
//
MediaPlayer1.FileName:=filename;
MediaPlayer1.DeviceType:=dtAutoSelect;
MediaPlayer1.Display := Panel1;
MediaPlayer1.AutoRewind:=true;
MediaPlayer1.AutoOpen:=true;
MediaPlayer1.Open;
MediaPlayer1.DisplayRect :=Panel1.ClientRect;//MediaPlayer1.DisplayRect :=Rect(1, 1, Panel1.Width - 2, Panel1.Height - 2);
MediaPlayer1.Play;
end;
result:=true;
end;
 
DeviceType = dtAutoSelect?
你的文件的后缀是不是能识别的?
 
一样的。先是出现“no mci device open”,接下播放均正常,不知怎办????
 
1、一开始就先 MediaPlayer1.Wait:=true;
在MediaPlayer1.Play 的上一行设置 MediaPlayer1.Wait:=false;
2、去掉 MediaPlayer1.AutoOpen:=true; 这一行
 
我试过了,没有问题,是你本身媒体文件的问题,换个文件试试就知道了!
 
你的机器有声卡么?或者是在播放时声卡是否被其他程序占用?
 
以上方法都试了,还是一样。
机器内没有占用声卡的东东。
我的机器win98、有声卡,就连做这样的事件“ MediaPlayer1.Stop;”都出现
“no mci device open”!急死了,哪位高人救我一下
 
播放前做“MediaPlayer1.Stop;”事件或点击play时就出现“no mci device open”,
接下播放mpg、avi、dat均正常。
 
会不会是mmsystem.dll的问题?你把它换成操作系统原来带的版本试试,不过在试之前
要把机上mmsystem.dll备份一下,免得……
 
我觉得可能是你程序的结构设计有问题。当播放前做“MediaPlayer1.Stop;”事件或点击play时就出现“no mci device open”,
这时是不是还没有调用到你的方法MDPLAY?
 
Try except 包装MediaPlayer1的.Open play stop方法
 
现在:播放前做“MediaPlayer1.Stop;”用try..except是解决了,但点击play时
就出现“no mci device open”还是没有解决。
我以为:是否是点击play就运行了windows的mci,结果没找到可播放文件而出错?
 
各位大虾,真的没救了???????????????
 
后退
顶部