2

我有一个简单的 AS3 swf,它可以捕获用户的网络摄像头并显示它。我正在尝试将视频设置为 16:9 宽高比。根据 Adob​​e 的说法,如果我在 Camera 对象上使用 setMode(),我可以将其设置为任何纵横比,如果相机无法处理它,Flash 将裁剪视频以适合该区域。这在 Windows 上效果很好。我尝试了六种不同的网络摄像头,并且都正确裁剪。但是,在我的 Mac (OSX 10.8.3) 和同事的 Mac 上,图像不会被裁剪,而是在浏览器中显示 swf 时被拉伸以适应(尝试使用 chrome、Firefox 和 safari)。但是,如果我在 Flash IDE (CS 5.5) 中发布 swf,它看起来是正确的。在追踪 cam.width 和 cam.height 时,我注意到 cam.height 在 IDE 中是 90,但在浏览器中是 120。这让我想到' 是 Mac 上 Flash Player 的问题,但我似乎在论坛中找不到任何提及此问题的内容。任何人都有任何解决方法,或者关于这是否是一个已知的错误的消息?

var cam:Camera = Camera.getCamera();
var video:Video = new Video(320,180);
cam.setMode(320, 180, 15, true);
video.attachCamera(cam);
video.x = 100;
video.y = 20;
addChild(video);
4

2 回答 2

0

这可能是随机调整 SWF 大小的操作系统问题。不要跟踪宽度和高度,而是创建一个将宽度和高度值显示为字符串的文本框,然后在浏览器中运行它,看看它显示的是 120 还是 90,然后您可以使用一些 HTML 代码来重新调整 SWF 的大小。

于 2013-05-12T03:17:32.650 回答
0

看起来这是 Flash 播放器中的错​​误。几天前,这个问题神奇地在我的 Mac 上解决了,但一位同事仍然有这个问题。我正在运行 Flash player 11.7.700.203,她有 11.7.700.202,当她升级它时解决了这个问题。

编辑:说得太早了——这个升级似乎只适用于谷歌浏览器。即使在升级到 11.7.700.203 之后,Safari 仍然会看到该问题。

于 2013-06-04T20:47:55.640 回答