【发布时间】:2010-09-04 15:49:08
【问题描述】:
当从 XNA 3.1 中的视频对象调用 getTexture 时,您会根据视频开始播放后经过的时间获取正在播放的视频的当前帧。
但是,我需要在播放视频的同时根据玩家的动作动态更改播放速度。
我想知道是否有办法以更快或更慢的速度播放视频?以某种方式诱使玩家相信比实际播放时间多还是少?
如果没有,还有其他方法可以使用 XNA 以动态帧速率播放视频吗?
这只需要在 Windows 中工作。
【问题讨论】:
当从 XNA 3.1 中的视频对象调用 getTexture 时,您会根据视频开始播放后经过的时间获取正在播放的视频的当前帧。
但是,我需要在播放视频的同时根据玩家的动作动态更改播放速度。
我想知道是否有办法以更快或更慢的速度播放视频?以某种方式诱使玩家相信比实际播放时间多还是少?
如果没有,还有其他方法可以使用 XNA 以动态帧速率播放视频吗?
这只需要在 Windows 中工作。
【问题讨论】:
内置的 XNA 视频 API 不具备执行此操作的功能。如果您只需要在 Windows 上工作,请查看用于播放视频的替代 API,例如:
http://xnadsplayer.codeplex.com/
【讨论】:
在环顾四周后,我最终自己编写了一个 mpeg-1 解码器,但没有找到任何运行良好的解决方案。我能得到的最接近的方法是使用 directshow,但它有一些严重的延迟问题,因此如果 CPU 工作太忙,就不会实时更改视频速度。
【讨论】: