2013-01-08 2 views
2

나의 이해는 현재 즉 카메라를 사용하여 비디오를 촬영 및/또는 '카메라 롤'에 저장된 비디오 및보기/액세스 검색하는 방법/모바일 아이폰 OS :플렉스/플래시 빌더/액션 스크립트/AIR

에서는 CameraUI

  1. 나는 대의원 MediaType.VIDEO에 대한 것을 카메라에 내장 된 액세스 할 에서는 CameraUI를 사용할 수있는 비디오 카메라 앱에 내장 나 비디오를 녹화 할 수 있습니다. 내 응용 프로그램은 이제 않습니다 .

  2. 녹음을 중지하고 "사용"버튼을 클릭하면 응용 프로그램으로 돌아가 이론적으로 유효한 MediaPromise을 가지고 있습니다.

  3. 아이폰 OS (또는 사진에) 녹화 된 비디오에 대한 유효한/사용 가능한 URL/파일 이름을 제공 -not- 수행하고 그래서 나는 /를 '기록'에 액세스 가져-에서 /를 사용 로더를 사용하는 것 시스템의 기본 카메라/비디오 응용 프로그램을 사용할 때 하나는 정상적인 동작에 의해 기대할 수있는 경우 비디오 ... 은 ... 아이폰 OS 실제로 카메라 롤에서 가장 중요한 어디서나 장치에 파일을 생성하지 않습니다.

  4. 문서는 로더 다양한 이미지 유형 및 국부 펀드 그러나 비디오 데이터에 대한 아무것도를로드 할 수 있다고, 그래서 내가 실제로 유효한 MediaPromise를 생성하는 에서는 CameraUI를 사용할 수없는 것과 결론이 내가 할 수있는 그런 다음 로더 클래스로 전달하여 시스템 카메라에서 생성 된 정보를 읽고 조작하고 (업로드, applicationStorageDirectory에 저장 및/또는 API에서 사용할 수있는 두 개의 비디오 플레이어 구성 요소 중 하나에 표시).

나는 의 iOS 카메라 롤하지만 AS3 비디오 엔티티를 가질 수

  1. 카메라 롤은/Air3.5는 카메라 롤 클래스를 참조/액세스/나를 볼 수 있도록하지 않습니다 어떠한 방식으로.

일반 파일 I/O

  1. 거절 된 의 iOS 카메라 롤의 저장 위치를 ​​탐색 할 Air3.5 파일을 클래스를 사용하기 위해 내 모든 시도.

------- 질문 -------

  1. 내가 비디오를 촬영하는 방법하지만 비디오를 사용할 수있는 방법이 있다는 것을 믿고, 내가 잘못 알고 그게 잡혔다. (결과 MediaPromise를 성공적으로 사용할 방법이 없습니다.)

  2. 난 당신이 비디오를 촬영 안드로이드를 사용하여 액세스 할 수 있습니다 생각하지만, 당신은 아이폰 OS를 사용하지 않을 수 있다고 문서에 아무것도 없다.

  3. 내가 표준 파일을 사용하여 아이폰 OS 샌드 박스 애플리케이션들이 비디오/사진 저장을 탐색 할 수 있도록한다는 믿음에서 수정 건가요 I/O,하지만 명백하게 비 실행 가능한 수단을 통해 내가 해봤 (에서는 CameraUI & 카메라 롤)

  4. 내가 XCode Objective C++ 등의 경로를 사용하여 얻을 수있는 명백한 요구 사항이지만, Apple Mobile 기능이 Apple의 기능을 차단하거나 Adobe가 합리적인 기대를 충족시키지 못해서 허용하지 않는다고 생각하는 것은 잘못입니다. ?

전달할 아이러니 노트 한 항목. iOS 시스템 카메라 앱을 사용하여 동영상을 녹화하면 해당 동영상의 thumnail이 갤러리/카메라 롤에 표시되며 당연히 공유하거나 볼 수 있습니다. 또는 ... 내가 AIR의 CameraRoll을 사용하는 경우. browseForImage(), 카메라를 사용하여 다른 이미지를 찍지 않았다면 사진이 저장된 폴더가 표시 될 때 폴더 아이콘에 마지막으로 추가 된 객체의 축소판이 사용됩니다 ...이 경우에는 비디오 내가 폴더를 입력하면 비디오를 찾을 수 없습니다. 그것은 우리를 괴롭 히고 있습니다. 그것은 그곳에 있음을 알고 있지만, 분명히 금지 된 과일입니다.

+0

에 영화를 넣어, 난 아직도 방법을 찾고 있어요 또한

private var camera:CameraUI; private var dataInput:IDataInput; public function recordVideo():void { // Start the camera and ask for a video camera = new CameraUI(); camera.addEventListener(MediaEvent.COMPLETE, onCameraComplete); camera.launch(MediaType.VIDEO); } private function onCameraComplete(event:MediaEvent):void { // event.data is a MediaPromise and MediaPromise.open() returns a IDataInput // Let's cast it to a dispatcher and check when it's complete dataInput = event.data.open(); var dispatcher:IEventDispatcher = IEventDispatcher(dataInput); dispatcher.addEventListener(Event.COMPLETE, onDataInputComplete); } private function onDataInputComplete(event:Event):void { // We can do whatever we want with the data, so we'll store it in a File var file:File = new File(); var bytes:ByteArray = new ByteArray(); var stream:FileStream = new FileStream(); // Reading the data from the opened MediaPromise dataInput.readBytes(bytes); stream.open(file, FileMode.WRITE); stream.writeBytes(bytes, 0, bytes.bytesAvailable); stream.close(); } 

이 가져올 수있는 방법 인하지에 대한 비디오 카메라에서 '가져 가라.'하지만 아직 작동하지 않습니다. CameraUI의 설명서는 부족합니다. 일반적인 로더에 대한 예제이지만 더 복잡한 정보는 언급하지 않습니다. 이제 내가 뭘 찾아야 할지를 안다. (만약 이미지에 볼륨이 가장 적다면 ...). 미안해, 더러운 짓 끝내. 하지만 작동하지 않는 것은 다음과 같습니다. (예 : yimminy가 수행합니다.) – Thistledowne

+0

trace (data.MediaPromise.file.url + "-"+ data.MediaPromise.relativePath + "-"+ data.MediaPromise.mediaType); var 비디오 : 비디오 = 새 비디오(); stage.addChild (video); var conn : NetConnection = new NetConnection(); conn.connect (null); var stream : NetStream = 새 NetStream (conn); video.attachNetStream (stream); stream.client = new Object(); stream.play (data.MediaPromise.file.url); – Thistledowne

+0

추적 출력 : 파일 : ///private/var/mobile/Applications/968F6341-B287-43B9-9526-1267DF247DD2/tmp/capture/capturedvideo.MOV - capturedvideo.MOV- 비디오 – Thistledowne

답변

2

나는 모든 질문에 대답 할 수없는, 그래서이 항목은 허용되지 않을 수도 있습니다,하지만 난 당신이 설명 일부 문제에 대한 해결책을 검색하는 동안이 페이지를 발견하고 다른 사람이 대답은 (부분적으로) 유용하게 사용할 수 있다고 생각했다.

당신은 당신이 열고 약속에서 데이터를 읽을 필요했다 영화를 저장합니다.
iOS가 anywere 파일을 저장하지 않으므로 MediaPromise.file은 항상 null입니다.

은이 문제에 대한 내 솔루션입니다 : 나는 아마도 잘못된 있던 카메라 롤

+0

넣을 방법을 찾을 수 있었습니까? 카메라 롤에 영화? –

+0

@ 1.21g 와트, 아니요. 어쨌든 (AIR로) 불가능하다고 생각합니다. – NemoStein