2013-04-07 90 views
0

我使用TMediaPlayerControl在我的應用程序中顯示視頻。在Windows XP的Firemonkey中播放視頻

這是我的代碼來顯示視頻:

TrailerMediaPlayer.FileName := GetcurrentDir + '\Trailer\Trailer.avi'; 
if (TrailerMediaPlayer.State = TMediaState.Stopped) and 
    (TrailerMediaPlayer.CurrentTime < TrailerMediaPlayer.Duration) then 
begin 
    TrailerMediaPlayer.Play; 
    PositionTrackBar.Max := TrailerMediaPlayer.Duration; 
end 
else 
begin 
    TrailerMediaPlayer.CurrentTime := 0; 
end; 

它在Windows 7/8,但在Windows XP中,我得到unsupported media file錯誤!

請注意,Windows Media Player在Windows XP中播放我的Trailer.avi。

如何在沒有任何額外組件的情況下在每個Windows操作系統上(自XP)播放此視頻?

+0

你沒有說你的視頻是什麼編解碼器 – 2013-04-07 12:44:07

+0

我的視頻是未壓縮的avi。我嘗試了這個Windows 7樣本視頻,但它不工作。(Wildlife.wmv) – sma6871 2013-04-07 13:06:19

回答

0

獲得madexcept,或任何其他類似的工具,並張貼應用程序的堆棧。另外,這應該是機器上安裝的編解碼器和其他應用程序的問題,即使電影是在XP的Windows Media Player中播放的。

有幾點建議:使用Windows Media Player ActiveX或來自VideoLan的ActiveX plugin

此外,一定要遵循這個http://docwiki.embarcadero.com/Libraries/XE3/en/FMX.Media.TMediaPlayerControlhttp://docwiki.embarcadero.com/RADStudio/XE3/en/Building_a_Basic_Media_Player

PS:請注意,FireMonkey不VCL - http://docwiki.embarcadero.com/RADStudio/XE3/en/Converting_from_VCL_to_FireMonkey不要混用兩種。 (我只是懷疑你這樣做,所以沒有代碼我不能確定它...)

+0

我在[本文](http://docwiki.embarcadero.com/RADStudio/XE3/en/Building_a_Basic_Media_Player)中做了所有事情,但在一個新的Windows XP(沒有任何編解碼器)應用程序會拋出一個異常,這是媒體文件不支持,但媒體播放器播放它! – sma6871 2013-04-07 11:30:00

+0

即使我不喜歡這些驚歎號,你是否可以發佈你已經完成的一個小例子,以及我建議你在答案中做的異常堆棧? – RBA 2013-04-07 11:37:35

+0

我沒有更重要的代碼。我的問題中的代碼是在'PlayButtonClick'事件,它在我的Windows 8上工作。 – sma6871 2013-04-07 12:03:40