现在的位置: 首页 > 综合 > 正文

媒体播放器可以播放wmv,但TMediaPlayer不可以,为什么?

2012年09月28日 ⁄ 综合 ⁄ 共 1318字 ⁄ 字号 评论关闭
媒体播放器可以播放wmv,但TMediaPlayer不可以,为什么? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiMultimedia/html/delphi_2006120509535089.html
编写一个视频播放软件,使用TMediaPlayer,  
   
          本来打算使用较新的TWindowsMediaPlayer来着,但是后者不支持AlignClient,就是全部填充,只能按原画面比例进行缩放。而TMediaPlayer却可以让播放画面按任意比例拉伸,本人喜欢这种风格。  
   
          但TMediaPlayer支持的格式太少,我用媒体播放器从网上下载了wmv格式的支持后,TMediaPlayer也可以播放wmv的格式了,在98和2000下都试过,正常  
   
          但是,却在一台windows2000   professional上,媒体播放器可以播放,但TMediaPlayer死活不行,我直接调用了winmm.dll中的mcisendstring来打开也不行,  
   
          察看注册表,mciextensions和mci各项也都有,还能有什么原因呢?  
   
          不至于还要重装操作系统吧?

可能是操作系统的原因,因为解码器注册后基本的播放器都可以调用。

on

你可以把Windows自带的播放器导入到DELPHI中,通过Import   ActiveX,C:\windows\system32\wmp.dll。可以用这个,比自带的那个应该要好。

用   ActiveX   控件,稳当!!:)

MediaPlayer1.DeviceType:=dtAutoSelect;  
  就可以播放了。  
  如果是VCD上直接拷下来的DAT文件,要在win.ini里加上一句:  
  [MCI   Extensions]  
  dat=MPEGVideo  
  如果没有wmv,也要相应的加上:  
  wmv=MPEGVideo  
 

建议还是不要使用TMediaPlayer了,用DirectShow写,本人这几天也在研究用DirectShow写播放器,做了个控件,比TMediaPlayer好用多了。但还有个不大不小的问题还没解决,参考http://community.csdn.net/Expert/topic/5250/5250214.xml?temp=.6135218

顺便问一下,TMediaPlayer的图像缩放后,咱个锐化图像呢?  
  因为直接改变   DisplayRect   后图像质量下降了,有很明显的锯齿

用TMediaPlayer还不如用TWindowMediaPlayer

同意楼上

但是TWindowsMediaPlayer不能拉伸,只能按原画面比例缩放

最好还是自己用DirectShow等技术来写,如果你没有这方面的知识用Delphi中的控件或者使用MediaPlayer控件也可以。我知道怎么让TWindowsMediaPlayer支持任意缩放,可以联系我。  
  email:about521   at   163.com    
  MSN:cownew@hotmail.com  
  qq:57077490  
 

抱歉!评论已关闭.