2011-04-25 66 views
8

我使用Flex英雄預發佈4.5,這是一個Android的Flex移動應用程序。旋轉原始相機(不只是視頻)在Android的空氣

我有一種情況,原始相機正在屏幕上顯示,並且正在網絡流中傳輸。顯然,現在在Android的AIR中,如果你只是使用縱向的原始相機,它實際上並沒有在縱向上拍攝相機...它的方向錯誤是90度。所以,這裏有一個代碼片段,我旋轉了視頻,它在手機上看起來很棒。但是,我需要將凸輪附加到網絡流上併發送它......但它會發送橫向視頻,並且我不想在遠端調整它。我無法將視頻附加到網絡流中......任何人都有什麼想法可以做,而不僅僅是等待AIR更新呢?

//i know i have width and height mixed up, its because im rotating it in a second and i dont want it to be stretched 
           nearVideo = new Video(near_video.height,near_video.width); 

var m:Matrix = new Matrix(); 
//rotate here 
m.rotate(Math.PI/2); 
this.nearVideo.transform.matrix = m; 
//repositioning it so it looks like its fitting in the container correctly 
nearVideo.x=near_video.width; 
nearVideo.y=(near_video.height-near_video.height); 

if (Camera.isSupported) 
{ 
nearCam = Camera.getCamera(); 
} 

nearCam.setMode(near_video.height,near_video.width,10); 
nearVideo.attachCamera(nearCam); 
near_video.addChild(nearVideo); 

//now its all great on screen...but when this comes up 

sendStream.attachCamera(nearCam); 

//i’m sending sideways video... 

編輯:我知道我可以告訴遠端只是旋轉視頻對象其使用顯示橫向相機。但由於許多原因,這不是我想要接受的解決方案。希望adobe能儘快解決這個問題。但直到那時我只是好奇,如果有人知道我可以旋轉相機並將其附加到網絡流。

+0

你應該問這在預發佈網站上。 – 2011-04-25 21:17:48

+0

顯然我做到了。沒有反應。所以,我試圖傳播,看看我能否接觸到任何可能對這個主題有所瞭解的人。我也相信這個問題出現在面向公衆的捲餅預覽中。 – brybam 2011-04-25 21:44:16

回答

2

對我來說,它看起來像唯一的真正的解決方案,而不是旋轉遠端視頻,只是得到Adobe修復相機。所以,如果你發現這個頁面,因爲你用相機失意Android上不能夠在肖像正常旋轉,請在這裏投了錯誤,並讓讓他們來解決它:

http://bugs.adobe.com/jira/browse/SDK-30317

+0

根本不是真的。看看我的答案。我可以保證它是可能的,只是不是開箱即用。 – 2011-04-28 18:28:01

1

不幸的是,在發送給服務器之前,您無法攔截相機流來修改它,這是一個希望Adobe能夠在下一個版本的Air中修復的錯誤。如果有no tickets open它,你應該打開一個。

然而,並非所有都丟失了!相機類與NetStream相比,基本上只是發送相機捕獲的視頻字節,當然還有一個取決於帶寬的質量改變算法。你可以嘗試自己做同樣的事情,但是改變質量的算法有點難以實現,但並非不可能。基本上,由於您在某處(Video class可能?)顯示攝像機視頻,因此可以將該位圖數據轉換爲ByteArray,並使用send通過NetStream發送它。當然,服務器(或其他客戶端)需要知道如何處理它。

沒有保證,如果這將工作,因爲我從來沒有嘗試過,但這是我會做的。另一種做法是「告訴」媒體服務器(我假設你使用的是)你目前處於橫向模式(只有一個布爾標誌),然後服務器可以爲你做轉換將它發送給其他人。

無論哪種方式,這並不容易。祝你好運。