2011-04-25 4 views
8

저는 Flex Hero Pre-release 4.5를 사용하고 있으며 이것은 android 용 Flex Mobile 어플리케이션입니다.안드로이드 용 RAW CAMERA (비디오뿐만 아니라) 회전

원시 카메라가 화면에 표시되고 넷 스트림으로 전송되는 상황이 있습니다. 외관상으로는 지금 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

당신은 요구해야한다 :이 페이지를 발견한다면, 당신은 안드로이드가 여기에 버그를 투표하십시오 초상화 제대로 회전하고 그것을 해결하기 위해 얻을 수 있습니다 할 수없는 카메라와 좌절 되었기 때문에 이것은 출시 전 사이트에 있습니다. –

+0

분명히 했어. 응답 없음. 그래서, 나는 퍼져 나가고 주제에 대해 통찰력을 가지고있는 누군가에게 다가 갈 수 있는지 알아보기 위해 노력하고 있습니다. 나는 또한이 문제가 대중에게 공개 된 burrito 미리보기에도 있다고 믿는다. – brybam

답변

2

글쎄, 내게는 카메라를 고정시키기 위해 어도비에 도착하는 것이 유일한 해결책 인 것처럼 보인다.

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

+0

전혀 사실이 아닙니다. 내 대답 좀 봐. 나는 그것이 가능하다는 것을 보장 할 수 있습니다. –

1

슬프게도 카메라 스트림을 서버로 보내기 전에 카메라 스트림을 가로 채서 수정할 수는 없습니다. 이는 어도비의 다음 버전에서 수정 될 예정인 버그입니다. 그것에 대해 no tickets open이 있으면 하나를 열어야합니다.

그러나 모든 것이 사라지지는 않습니다! 카메라 클래스가 NetStream에서 수행하는 작업은 본질적으로 카메라에서 캡처 한 비디오 바이트 만 보내는 것입니다. 물론 대역폭에 따라 품질 변경 알고리즘이 있습니다. 당신은 자신을 똑같이하려고 할 수도 있지만 품질 변경 알고리즘은 구현하기가 조금 더 어렵지만 불가능하지는 않습니다.

기본적으로 카메라 비디오를 어딘가에 표시하고 있으므로 (비디오 클래스일까요?) 비트 맵 데이터를 가져와 ByteArray로 변환하고 send을 사용하여 NetStream을 통해 보낼 수 있습니다. 물론 서버 (또는 다른 클라이언트)는이를 어떻게 처리해야하는지 알 필요가 있습니다.

시도한 적이 없으므로 이것이 제대로 작동하는지 보증 할 수는 없지만 이것이 내가하는 일입니다. 그것을하는 또 다른 방법은 미디어 서버 (당신이 하나를 사용하고 있다고 가정 함)에게 현재 가로 모드 (부울 플래그가 있음)라고 말한 다음 서버가 변환을 수행 할 수 있다는 것입니다. 다른 사람에게 보내십시오.

어느 쪽이든 쉽지 않을 것입니다. 행운을 빕니다.

관련 문제