2013-05-12 195 views
1

嗨我想創建一個簡單的AIR 3應用程序,在舞臺上顯示3個攝像頭。出於某種原因,第三個攝像頭不想顯示,它甚至不打開攝像頭上的LED指示燈。AS3多個網絡攝像頭不顯示第3個網絡攝像頭

我嘗試了多個網絡攝像頭,例如。微軟,羅技,建於....

下面的代碼不起作用:

var videoWidth:int = 1000/totalCols; 
var videoHeight:int = 800/totalRows; 

for (var i:int = 0; i < Math.min(Camera.names.length, totalRows * totalCols); i++) { 
    var currRow:int = Math.floor(i/totalCols); 
    var currCol:int = i % totalCols; 
    var video:Video = new Video(videoWidth, videoHeight); 
    var cam:Camera = Camera.getCamera(i.toString()); 
    if (cam) { 
     cam.setMode(videoWidth, videoHeight, 30); 
     video.attachCamera(cam); 
     video.x = currCol * videoWidth; 
     video.y = currRow * videoHeight; 
     StageObj.addChild(video); 
    } 
} 

無論是做這個的:

//camera settings 
     track_cam = new Camera(); 
     track_cam = Camera.getCamera("1"); 
     track_cam.setMotionLevel(100); 
     track_cam.setQuality(0, 100); 
     track_cam.setMode(1920, 1080, 30); 

     track_feed = new Video(); 
     track_feed.width = track_cam.width; 
     track_feed.height = track_cam.height; 
     track_feed.smoothing = true; 
     track_feed.attachCamera(track_cam); 

     StageObj.addChild(track_feed); 

     player_one_cam = new Camera(); 
     player_one_cam = Camera.getCamera("2"); 
     player_one_cam.setMotionLevel(100); 
     player_one_cam.setQuality(0, 100); 
     player_one_cam.setMode(200, 200, 30); 

     player_one_feed = new Video(); 
     player_one_feed.width = player_one_cam.width; 
     player_one_feed.height = player_one_cam.height; 
     player_one_feed.smoothing = true; 
     player_one_feed.attachCamera(player_one_cam); 

     StageObj.addChild(player_one_feed); 
     player_one_feed.x = 500; 
     player_one_feed.y = 500; 

     player_two_cam = new Camera(); 
     player_two_cam = Camera.getCamera("0"); 
     player_two_cam.setMotionLevel(100); 
     player_two_cam.setQuality(0, 100); 
     player_two_cam.setMode(200, 200, 30); 

     player_two_feed = new Video(); 
     player_two_feed.width = player_two_cam.width; 
     player_two_feed.height = player_two_cam.height; 
     player_two_feed.smoothing = true; 
     player_two_feed.attachCamera(player_two_cam); 

     StageObj.addChild(player_two_feed); 

是否有攝像頭的數量有限制你可以在AS3中使用?

回答

0

看起來它應該從文檔工作:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Camera.html#getCamera()

名:字符串(默認值= null) - 指定要獲取哪一個攝像頭, 由names屬性返回的數組確定。對於大多數 應用程序,請通過省略此參數來獲取默認攝像機。若要爲 指定此參數的值,請使用Camera.names數組內從零開始的索引位置的字符串表示形式 。例如, 示例中,指定陣列中的第三個攝像頭,請使用 Camera.getCamera(「2」)

+0

我認爲它可能是與USB端口有關的東西...如果我在筆記本電腦的一側插入兩個相機在其他兩個相互之間,其中一個將無法工作... – user2075503 2013-05-13 07:55:06

+0

是啊,你可能會跑步由於提供給USB端口的電源,可能會嘗試通電的USB集線器,看看它是否有幫助。 – shaunhusain 2013-05-13 09:02:38

+0

我通過設置camera.setMode(200,200,30)得到它的工作;如果我增加凸輪的大小,第三個網絡攝像頭無法打開... – user2075503 2013-05-13 10:24:42

3

似乎我用完了USB帶寬,當它在開始工作的單獨機器上使用USB3時。