从VideoPlayer源URL访问维度(宽度/高度)

时间:2017-07-25 15:38:43

标签: c# unity3d video unity5

我正在开发一个Unity项目,要求我下载视频文件(mp4格式)并使用VideoPlayer组件播放。因为文件是在运行时下载的,所以我实际上必须" stream"它通过URL下载到其下载位置,而不是将其作为VideoClip加载。

要准确调整视频将播放的目标RenderTexture和GameObject的大小,我需要视频文件本身的尺寸。因为它不是VideoClip我不能使用:

TIdIOHandler.AllData()

因为我使用的是源URL而不是VideoClip,所以这将返回null。

我可以直接从文件中获取视频尺寸吗?

1 个答案:

答案 0 :(得分:2)

您可以从VideoPlayer构造的纹理中检索这些信息。

获取VideoPlayer

VideoPlayer videoPlayer = GetComponent<VideoPlayer>();

获取纹理VideoPlayer

Texture vidTex = videoPlayer.texture;

获取VideoPlayer尺寸宽度/高度

float videoWidth = vidTex.width;
float videoHeight = vidTex.height;

确保仅在videoPlayer.isPreparedtrue后获取纹理。有关如何播放视频的完整代码,请参阅我的other答案,以便在RawImage组件上显示。