Flash 网络摄像头分辨率检测

Flash 网络摄像头分辨率检测,flash,actionscript,webcam,Flash,Actionscript,Webcam,我简直不敢相信我在谷歌上什么都没找到,我开始觉得这可能是个愚蠢的问题,但我不得不问 我想获得网络摄像头支持的最大分辨率,我该怎么做 这是我的实际代码: // Maximum amount of bandwidth that the current // outgoing video feed can use, in bytes per second. var bandwidth:int = 0; var quality:int = 100; // This value is 0-10

我简直不敢相信我在谷歌上什么都没找到,我开始觉得这可能是个愚蠢的问题,但我不得不问

我想获得网络摄像头支持的最大分辨率,我该怎么做

这是我的实际代码:

 // Maximum amount of bandwidth that the current 
 // outgoing video feed can use, in bytes per second.
 var bandwidth:int = 0; 
 var quality:int = 100; // This value is 0-100 with 1 being the lowest quality. 


 var cam:Camera = Camera.getCamera();
 if(cam==null)
  writeErrorPopup(NOCAMERA_ERR);
 else
 {
  cam.addEventListener(StatusEvent.STATUS,statusHandler);
  function statusHandler(evt:StatusEvent):void
  {
   if(cam.muted)
   {   
    writeErrorPopup(CAMPERMISSION_ERR);
   }
   else
   {   
    trace(cam.width);
   }
  }    

 cam.setQuality(bandwidth, quality);
 //cam.setMode(640,480,30,false); 
 // setMode(videoWidth, videoHeight, video fps, favor area)
我的理解是:

  • 任何网络摄像头的默认设置模式都会将其分辨率设置为160x120,实际上,跟踪会返回160x120值

  • 如果我取消对640x480设置模式的注释,跟踪将返回640x480值,这是可以的,但这是一个静态值,我想了解哪一个是网络摄像头分辨率


有什么提示吗?

有一种方法可以找到:


将相机的高度和宽度设置为与请求的分辨率最接近的值。因此,如果选择4:3的纵横比,并将大小设置为8192x6144,则应该能够获得相机的最高分辨率。为了确保这一点,你也可以尝试16:9或16:10的比例,看看哪个结果最好。

同样的感觉!谷歌上没有人能在没有特别谈话的情况下给出简单的答案! 这是:

var cam:Camera = Camera.getCamera(); 
if (cam != null) 
{ 
var vid:Video = new Video(cam.width, cam.height); 

// setmode(width, height, framerate);
cam.setMode(2048,1536,30);

vid.attachCamera(cam); 
addChild(vid);
vid.width = 2048; 
vid.height =1536;

}

上面的答案顺序不对。应该是:

var cam:Camera = Camera.getCamera(); 
if (cam != null) 
{     
    cam.setMode(2048,1536,30);
    var vid:Video = new Video(cam.width, cam.height);    
    vid.attachCamera(cam); 
    addChild(vid);
}
这种方法适用于windows,但我发现在mac电脑上,无论摄像头的性能如何,它都允许所有尺寸达到1920x1080。无论纵横比是否错误,它都会将其设置为HD大小。我还没有找到解决办法