媒體播放器可以播放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