首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android‘智能显示’与空气/相机交互问题

Android‘智能显示’与空气/相机交互问题
EN

Stack Overflow用户
提问于 2013-08-02 15:40:18
回答 1查看 204关注 0票数 1

为了演示,我正在尝试使用相机和一些运动跟踪AS3类来检测ViewSonic智能显示器前的运动。我已经在其他Android设备上获得了应用程序和检测功能,但“智能显示器”给我带来了一些奇怪的问题。

很长一段时间内,有人可能会遇到这样的情况,但这是非常简单的摄像机设置代码,我将问题降到了以下几个方面:

代码语言:javascript
复制
var camera = Camera.getCamera();
camera.setMode(stage.stageWidth, stage.stageHeight, 30, true);
var video:Video = new Video(stage.stageWidth, stage.stageHeight);
video.attachCamera(camera);

我的问题就在于"video.attachCamera“,因为某种原因,这个设备把这个功能当作”在右上角的一个小窗口中显示视频“,而忽略了所有其他代码,用空白的黑色控制屏幕,以及一个很小(可能是40x20 of平方)的视频流。

它的图像..。

任何帮助都非常感谢,谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-02 15:57:45

问题可能是使用setMode()方法传递给摄像机的值。你正试图将摄像机设置为在舞台的宽度/高度拍摄。

相机可能没有这样的捕获分辨率,正如setMode()文档所述,它将试图找到接近您指定的内容:

将相机捕获模式设置为最符合指定要求的本机模式。如果相机没有一个与您传递的所有参数匹配的本机模式,则运行时将选择一个最接近于合成所请求模式的捕获模式。这种操作可能涉及剪切图像和删除帧。

现在,可以肯定的是,您可以期望Flash选择一个比屏幕截图中显示的分辨率更大的分辨率。但是,考虑到大量的相机设备/驱动程序,这可能在你的情况下不太好用。

首先,您可以尝试W/更典型的分辨率来捕捉视频: 480x320,640x480,800x600,或者最多1024x768。网络上的大多数应用程序可能使用第一或第二捕获分辨率。

因此,改变:

代码语言:javascript
复制
camera.setMode(stage.stageWidth, stage.stageHeight, 30, true);

至:

代码语言:javascript
复制
camera.setMode(640, 480, 30, true);

请注意,您可以以任意大小显示视频,但是可以使用的捕获分辨率取决于相机硬件/驱动程序/OS/等等。典型的分辨率有4:3的纵横比,而且相对较小(不是屏幕/舞台的全部尺寸)。您使用的捕获分辨率影响到视频的质量和传输视频所需的网络带宽。通常(对于流),您的不希望使用大的捕获分辨率,但是在您的运动捕获用例中,它可能并不那么重要。

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

https://stackoverflow.com/questions/18020997

复制
相关文章

相似问题

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