C++ 在DirectX中显示视频
在使用XAudio2和Direct3D9/10的应用程序中显示视频(带声音!)的最佳/最简单方法是什么 至少,它需要能够流式传输可能更大的视频,并注意windows纵横比可能不同于视频(例如添加信箱),尽管理想情况下,我希望能够将视频嵌入3D场景C++ 在DirectX中显示视频,c++,video,directx,direct3d,xaudio2,C++,Video,Directx,Direct3d,Xaudio2,在使用XAudio2和Direct3D9/10的应用程序中显示视频(带声音!)的最佳/最简单方法是什么 至少,它需要能够流式传输可能更大的视频,并注意windows纵横比可能不同于视频(例如添加信箱),尽管理想情况下,我希望能够将视频嵌入3D场景 当然,我可以找到一种方法将每一帧加载到纹理中,在渲染后丢弃/重用纹理,并通过XAudio2单独播放音频,但是除了为至少一种格式编写加载程序外,我还需要处理一些事情,比如同步视频和音频组件,因此,希望有一个更可靠的解决方案可用,甚至是一个现成的免费解决方
当然,我可以找到一种方法将每一帧加载到纹理中,在渲染后丢弃/重用纹理,并通过XAudio2单独播放音频,但是除了为至少一种格式编写加载程序外,我还需要处理一些事情,比如同步视频和音频组件,因此,希望有一个更可靠的解决方案可用,甚至是一个现成的免费解决方案,具有合适的lisence(二进制形式的商业发行版,在使用LGPL的情况下,动态链接很好)。在Windows SDK中,有一个用于将视频渲染为纹理的解决方案。它也处理音频输出
但也有局限性,我不能说这很容易。你看过吗?这是很多游戏用来播放视频的地方。非常好用,您不必自己从头开始编写所有视频内容。DirectShow不是一个选项吗?它使用Direct3D进行视频渲染。不幸的是,它也非常昂贵。Theora是一个自由的选择,从客观的角度来看也是一样好的。