关于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,也就是说是软件本身隐藏的一个错误了?也不是没有可能,但可能性不大,最好再详查一下资料.谢了.
展开
 我来答
cb120520025
2008-12-16 · TA获得超过347个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:571万
展开全部
这好像是一个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;
之后重新安装控件就可以支持自定义类型啦
__大漠驼铃__
2008-12-14 · TA获得超过1508个赞
知道大有可为答主
回答量:2373
采纳率:0%
帮助的人:1931万
展开全部
MediaPlayer的DeviceType最好设置为自动,这样能兼容各种音乐类型。如果指定了,就容易出错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式