当前位置:编程学习 > VB >>

VISTA下WindowsMediaPlayer获得MP3时间长度失败




在程序中,要打开媒体文件,需要获得媒体时间长度后再执行后面的代码,同时可能没有解码器,有的媒体不能播放,所以也要识别媒体是否能播放。
代码如下 :
Form2.WindowsMediaPlayer1.URL = fname
Form2.WindowsMediaPlayer1.Controls.play
Form2.WindowsMediaPlayer1.settings.volume = 0
Do While Form2.WindowsMediaPlayer1.openState <> 13 
If Form2.WindowsMediaPlayer1.openState = 6 Then
   MsgBox "不支持此文件类型(无解码器) 或 声卡有故障!", , "出错"
   Exit Sub
End If
DoEvents
Loop
totaltime = Form2.WindowsMediaPlayer1.currentMedia.duration

此代码在XP下运行正常。但在VISTA下,就是不能播放MP3,一打开MP3,就显示“支持此文件类型(无解码器) 或 声卡有故障!”

请大家看看,如何解决这个问题呢?
谢谢!
--------------------编程问答-------------------- 代码在我的vista 和 xp(虚拟机) 中运行都没有问题!
估计是你的vista下没有相关的解码器,
建议:到网上down一个万能解码器安装一下或重装一遍WMP试试。 --------------------编程问答-------------------- 谢谢楼上。我是安装的VISTA +SP1.新安装的系统,未装其它任何软件。
用VISTA自带的windows media player是可以播放MP3的。不知道为什么在自己的程序中就是不行。程序中调用的是WMP.dll,就应是系统自己的吧。
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,