2012-03-26 33 views
1

我一直在研究用Flash CS5開發的iPhone應用程序,它將攝像頭視圖流式傳輸到應用程序屏幕上的一個窗口。相機代碼如下:如何手動定位AS3中的Camera對象?

cam.setMode(600, 400, 25); 
cam.setQuality(0, 100); 
vid    = new Video(); 
vid.width  = cam.width; 
vid.height  = cam.height; 
vid.attachCamera(cam); 

vid.x = Main.stage.stageWidth/2 - vid.width/2; 
vid.y = 50; 

addChild(vid); 

我設置了iPhone留在縱向不斷通過設置stage.autoOrients = falsestage.setOrientation(StageOrientation.DEFAULT)。但是,相機仍然顯示爲如同手機向左翻轉90度。我該如何改變它,使程序保持縱向並且相機的方向正確?

+0

嘿,我沒有答案,這和我也想知道,因爲我有同樣的問題試圖寫一個AS3/AIR QR代碼閱讀器使用ZXing從我在相機(AS3引用)類中看到它只是由於某種原因(我沒有得到邏輯),它預計它是橫向的,我的猜測是我們可以使用變換矩陣做翻譯,旋轉,翻譯VID以糾正方向,儘管我沒有看到沒有更好的方法。我「喜歡」這個問題,希望在有任何變化時提醒我,但我會再回來看看。祝你好運。 – shaunhusain 2012-03-26 22:03:57

+0

嘿只是供參考我結束了以下建議的相同的路線,偏移組件以彌補註冊點在左上角,所以我旋轉90度,然後將其滑回原位,這現在工作良好,在AIR 3.2 SDK中也注意到,顯然你應該能夠使用StageVideo來附加攝像頭(並且可以進行正交旋轉和抓取位圖數據),這一切都是根據我從Thiabult在Google上閱讀的預發佈帖子得到的,但是如果事實上所有這些都可能是獲得GPU加速的更好方法,只是想到我會把它放在那裏。 – shaunhusain 2012-04-03 22:37:38

回答

0

在屬性面板中有一個下拉菜單,指定Air for iOS單擊它旁邊的扳手(「編輯應用程序設置」) - >確保縱橫比面向縱向。

也可以試試:

vid.rotation = -90; 
+0

感謝您的建議。我已經確認縱橫比總是爲人像。旋轉視頻類型的作品,但作爲一種解決方法,因爲整個視頻對象都會旋轉,而不僅僅是輸出。這包括註冊點和高度/寬度值。這也意味着,如果我移植到具有更智能相機的其他設備,它會自動旋轉它,無論它是否正確。 – Jyakku 2012-03-27 16:54:04

+0

這似乎是一個問題,但據我所知,沒有辦法直接抓取相機的方向......它只是一個飼料。您可以使用[flash.system.Capabilities](http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/Capabilities.html#os)嘗試隔離設備。 – bnns 2012-03-27 17:10:38