【问题标题】:Play video in Firemonkey on Windows XP在 Windows XP 上的 Firemonkey 中播放视频
【发布时间】:2013-03-29 10:26:35
【问题描述】:

我使用TMediaPlayerControl 在我的应用程序中显示视频。

这是我显示视频的代码:

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 起)上播放此视频?

【问题讨论】:

  • 你没有说你的视频是什么编解码器
  • 我的视频是未压缩的 avi。我在 windows 7 示例视频中尝试过这个,但它也不起作用。(Wildlife.wmv)

标签: delphi firemonkey delphi-xe3


【解决方案1】:

获取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 并且不要将这两者混用。 (我只是怀疑你正在这样做,所以没有代码我无法确定......)

【讨论】:

  • 我在this article 中执行所有操作,但是在新的 Windows XP(没有任何编解码器)应用程序中抛出了一个异常,即媒体文件不受支持,但是媒体播放器播放了它!!!
  • 即使我不喜欢那些感叹号,你能否发布一个小例子来说明你所做的事情以及我在答案中建议你做的异常堆栈?
  • 我没有更重要的代码。我的问题中的代码在 PlayButtonClick 事件中,它适用于我的 Windows 8。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-23
  • 1970-01-01
  • 2017-04-27
  • 2014-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多