我有一个视频显示器(火花)和相机。
public var camera:Camera;
...
livePreview.source = getDynamicStreamingVideoSource();
camera.setMode(camWidth, camHeight, 15);
livePreview.videoObject.attachCamera(camera);
...
<s:VideoDisplay id="livePreview" ... />
在某些情况下,在我的代码中的某处,我尝试通过调用 camera.setMode(newWidth, newHeight) 和设置 livePreview.width = newWidth, livePreview.height = newHeight 以编程方式调整大小。从我所看到的情况来看,这并不奏效。livePreview 调整到新的宽度和高度,但不是相机,至少部分调整。例如,原始尺寸为 250、250,如果我将 500 (W) 和 250 (H) 设置为新尺寸,摄像机视频将水平显示为挤压,但物理宽度保持在 250。现在这是关键,如果我将 livePreview.scaleMode 设置为“拉伸”,相机视频将完全按照我想要的方式显示视频(不失真,大小正确,比例完好)。
现在是我真正的问题:这在性能方面效果不佳。“拉伸”确实向您展示了它正在拉伸视频,至少需要一秒钟才能完成。太慢了。我希望它在没有任何影响的情况下立即工作。我也不明白为什么在我指定正确的宽度并且与videoDisplay宽度相同时需要拉伸它。我在这里失踪了吗?