2011-01-19 2 views
2

나는 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 값을 반환 .

  • 내가 추적이 나에게 OK 인 640 × 480 값을 반환하는 640 × 480 setmode 주석을 제거하면,하지만, 나는 웹캠 해상도 인 이해하는 정적 값하고자한다 ..

어떤 힌트 ?

답변

7

찾아 하나 개의 방법이있다 :

Camera.setMode가 요청한 해상도와 일치하는 가장 가까운 가능한 값으로 카메라의 높이와 폭을 설정합니다. 따라서 4 : 3 종횡비를 선택하고 크기를 8192x6144로 설정하면 카메라에서 최대한 높은 해상도를 얻을 수 있습니다. 확실히하기 위해 16 : 9 또는 16:10의 비율을 시도하고 가장 좋은 결과를 반환하는 것을 볼 수도 있습니다.

+1

대단히 감사합니다. 바보 같아. –

2

같은 느낌! 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

위의 대답은 잘못된 순서입니다. 그것은해야한다 :

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); 
} 

이 방법에 관계없이 카메라의 기능의 1920 × 1080까지의 모든 크기를 허용하고, 그러나 나는 Mac에서 그것을 찾는거야, 윈도우에서 작동합니다. 종횡비가 잘못된지 여부와 상관없이 HD 크기로 설정됩니다. 아직 해결 방법을 찾지 못했습니다.