Определение разрешения веб-камеры - PullRequest
2 голосов
/ 19 января 2011

Я просто не могу поверить, что НИЧЕГО не нашел в Google, я начинаю думать, что это может быть вопрос DUMB, но я должен спросить.

Я ХОЧУ, чтобы МАКСИМАЛЬНАЯ РЕШЕНИЕ поддерживалосьс помощью веб-камеры, как я могу это сделать?

Это мой действительный код:

 // 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)

Что я понял:

  • по умолчаниюsetMode любой веб-камеры устанавливает разрешение 160x120, и при этом трассировка возвращает мне значение 160x120.

  • , если я раскомментирую установленный режим 640x480, трассировка возвращает мне значение 640x480, что нормально,но это статическое значение, я хочу понять, КАКОЕ разрешение веб-камеры ..

любой намек?

Ответы [ 3 ]

7 голосов
/ 19 января 2011

Есть один способ узнать:

Camera.setMode устанавливает высоту и ширину камеры на ближайшее возможное значение, соответствующее вашему требуемому разрешению. Поэтому, если вы выберете соотношение сторон 4: 3 и установите размер, скажем, 8192x6144, вы сможете получить максимально возможное разрешение камеры. Просто чтобы убедиться, что вы также можете попробовать соотношение 16: 9 или 16:10 и посмотреть, какой из них даст лучший результат.

2 голосов
/ 22 июля 2014

такое же чувство!никто в Google не может дать простой ответ без особых разговоров!вот оно:

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;

}
0 голосов
/ 01 июля 2015

Ответ выше в неправильном порядке.Должно быть:

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 независимо от того, является ли соотношение сторон неправильным.Я еще не нашел обходного пути.

...