关于Delphi中MediaPlayer的问题
我在Delphi中使用MediaPlayer播放Wave或AVi文件时,若指出了相关设备类型反而播放不出来,不指定定设备类型却可以播放,请帮我解答下怎么样回事,谢谢!Pr...
我在Delphi中使用MediaPlayer播放Wave或AVi文件时,若指出了相关设备类型反而播放不出来,不指定定设备类型却可以播放,请帮我解答下怎么样回事,谢谢!
Procedure TForm1.ButtonClick(Sender:TObject);
begin
With MediaPlayer1 do
begin
FileName:='....wav' //这里少了,反正是正确的路径
DeviceType:='dtWaveAudio';
Open;
Play;
end;
end;
上面的代码中若不加"DeviceType:='dtWaveAudio';"可以播放,加了反而不可以播放.
第一位:问题是设备类型没有设错啊,在这个控件的属性里面有的.最后还是播放不出来.
第二位:你说它是一个Bug,也就是说是软件本身隐藏的一个错误了?也不是没有可能,但可能性不大,最好再详查一下资料.谢了. 展开
Procedure TForm1.ButtonClick(Sender:TObject);
begin
With MediaPlayer1 do
begin
FileName:='....wav' //这里少了,反正是正确的路径
DeviceType:='dtWaveAudio';
Open;
Play;
end;
end;
上面的代码中若不加"DeviceType:='dtWaveAudio';"可以播放,加了反而不可以播放.
第一位:问题是设备类型没有设错啊,在这个控件的属性里面有的.最后还是播放不出来.
第二位:你说它是一个Bug,也就是说是软件本身隐藏的一个错误了?也不是没有可能,但可能性不大,最好再详查一下资料.谢了. 展开
展开全部
这好像是一个bug,类型只能选择为dtAutoSelect
你自己看下面代码,是MPlayer单元文件的部分代码
if FDeviceType <> dtAutoSelect then
FFlags := FFlags or mci_Open_Type;
if FDeviceType <> dtAutoSelect then
FFlags := FFlags or mci_Open_Type
else
FFlags := FFlags or MCI_OPEN_ELEMENT;
以上莫名其妙做了两次相同的判断.将上面的代码改为这样
if FDeviceType <> dtAutoSelect then
FFlags := FFlags or mci_Open_Type;
FFlags := FFlags or MCI_OPEN_ELEMENT;
之后重新安装控件就可以支持自定义类型啦
你自己看下面代码,是MPlayer单元文件的部分代码
if FDeviceType <> dtAutoSelect then
FFlags := FFlags or mci_Open_Type;
if FDeviceType <> dtAutoSelect then
FFlags := FFlags or mci_Open_Type
else
FFlags := FFlags or MCI_OPEN_ELEMENT;
以上莫名其妙做了两次相同的判断.将上面的代码改为这样
if FDeviceType <> dtAutoSelect then
FFlags := FFlags or mci_Open_Type;
FFlags := FFlags or MCI_OPEN_ELEMENT;
之后重新安装控件就可以支持自定义类型啦
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询