我正在使用 Visual Studio 2010 和 XNA 4.0 在 C# 中为 Windows 开发游戏。我希望能够设置和更改高清视频的播放位置,还可以根据用户输入反向播放视频。
我找不到从哪里开始的问题。 XNA 的 videoPlayer 类不提供这些类型的功能。我读到 XNA DirectShow 现在已经过时并且在使用高清视频时速度很慢。
我不太明白如何在我的项目中使用或实现 ffmpeg 等工具。似乎有些人有类似的问题并发布了解决方案,但没有太多细节。这些在下面。
互操作以与核心 DX 功能对话。
编写托管 C++ 包装器以互操作 ffmpeg。
编写一个 mpeg 解码器。
我不确定什么是最好的以及从哪里开始。 谢谢!
最佳答案
VideoPlayer 类有一个“PlayPosition”属性,您应该可以使用它来播放。
否则(我不知道您的视频文件有多大,也不知道有多长)尝试一个图像序列并为当前图像序列设置动画并通过用户输入对其进行控制。当然,处理图像序列会使音频反转(如果有音频)等非常复杂。
最后但同样重要的是,您可以在此处查看是否可以从这个 mpeg 解码器中找出任何东西: https://www.box.com/shared/ojzfv0qzfx
其他可能有助于 mpeg 解码的东西: http://chrisa.wordpress.com/2007/11/21/decoding-mpeg2-information/
关于c# - XNA中如何控制高清视频播放的位置和速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13224448/