首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scaleform在纹理中播放实时视频?

Scaleform在纹理中播放实时视频?
EN

Stack Overflow用户
提问于 2017-02-07 16:19:38
回答 1查看 131关注 0票数 1

我想知道是否有可能在Scaleform中播放实时视频,例如从网络摄像头播放纹理?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-02-07 23:47:46

为此,您只需将swf中的相应图像替换为包含视频的纹理。

你需要你的视频纹理在你正在使用的图形应用编程接口的纹理中(例如,在DirectX 11中,你需要一个ID3D11Texture2D)。您可以使用TextureImage类围绕它创建一个Scaleform包装器图像。然后,您需要在SWF中找到要替换的资源,并将包装器图像设置为其图像。最后,需要在GFx::Movie上调用ForceImageUpdate,以传播纹理更改。

代码语言:javascript
复制
ID3D11Texture2D* videoTexture = ...;
Ptr<GFx::Movie> pMovie = ...;
Ptr<D3D1x::TextureManager> pmanager = ...;
Ptr<Render::Texture> scaleformTexture = *pmanager->CreateTexture( videoTexture, ImageSize(width, height));
Ptr<TextureImage> scaleformImage = * SF_NEW TextureImage(Image_R8G8B8, scaleformTexture->GetSize(), 0, scaleformTexture);
ImageResource* pimageRes = (ImageResource*)pMovie->GetMovieDef()->GetResource("name_of_resource");
pimageRes->SetImage(scaleformImage);
pMovie->ForceUpdateImages();

当您更新基础ID3D11Texture2D (例如,使用新的帧),Scaleform电影中的图像也将发生变化。TextureInSWF示例中显示了如何执行所有这些操作的示例,该示例比此代码更全面一些。如果你有Kinect,还有一个KinectInSWF示例,它展示了如何使用Kinect摄像头(例如.实况摄像机)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42084872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档