BLOG main image
Category (342)
MySpace (89)
Astronomy (50)
Development (178)
Drum (25)
linux에서 subversion설정
누리에 없을 자그마한 자국
살라딘의 생각
saladin's me2DAY
3D Avata - BuddyPoke
기찬 개발이야기
[FLEX] ANT로 ASDOC 사용하기
THLIFE.net
Flash10 대응 Textcube 1.7.5.1..
텍스트큐브 공지사항
«   2008년 11월   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
325692 Visitors up to today!
Today 192 hit, Yesterday 963 hit
/Development/Flex/AIR 관련글 보기 2007년 08월 30일 18시 26분
사용자 삽입 이미지


Flex의 VideoDisplay 클래스를 이용하여 재생되는 화면을 캡쳐하여 리스트화 하고 리스트된 캡쳐화면을 서버에 전송하는 프로그램을 교육용으로 만들어 보았다.

VideoDisplay를 통해 로드된 FLV 영상이 Play 할때에 총 4군데에 Que Point를 두어서 그 지점에서 자동으로 화면을 캡쳐하도록 만들었다. 캡쳐된 화면은 List컨트롤에 itemRenderer를 이용해 추가되며 캡쳐이미지를 1개 선택후 저장방식(jpg, png)을 설정후 저장하기 하면 서버로 JPG또는 PNG형태로 HttpService를 통해 POST방식으로 전송된다. 전송된 데이터는 PHP에서 POST방식으로 받고 그 파일을 지정된 디렉토리에 fwrite()함수와 base64decode()함수를 이용해 저장한다. 저장이 완료되면 php는 반환값으로 파일명을 Flex로 돌려주는데 파일명은 "자신의 아이피_마이크로타임.확장자" 형태로 온다. 그럼 Alert.show()를 통해 화면에 뜨는데 이 파일명을 복사하면 웹브라우져에서 서버에 잘 전송되었는지 확인이 가능하겠다.

사용자 삽입 이미지

서버 프로그램은 Flex와 상관없이 Java든 ASP든 어느것을 써도 상관없다. php를 잘 모르신다면 자신있는 웹언어로 만들기 바란다.

제공되는 소스로 부터 다음을 알 수 있다.
  1. VideoDisplay 사용법
    - 볼륨조정 : VSlider를 이용해 VideoDisplay의 volumn속성을 제어한다.
    - PlayHead관련 : playHead 이벤트를 받아 totalTime 및 time값을 ProgressBar에 적용한다.
    - QuePoint사용법 : VideoDisplay에 QuePoint를 설정하면 특정시간에 이벤트를 줄 수 있다. QuePoint를 설정하는 방법과 QuePoint Event를 이용해 그 시간에 화면을 자동캡쳐한다.
    - 상태변화 : VideoDisplay가 상태변화, 즉 play, stop같은 상태가 변화가 될때 발생하는 상태변화 이벤트의 Type을 TextArea에 표시해줘서 어떤 상태변화가 있는지 확인한다.
  2. BitmapData를 이용한 화면 캡쳐방법
    VideoDisplay는 UIComponent를 상속받았기 때문에 UIComponent를 상속받은 모든 객체는 BitmapData를 만들 수 있다.
  3. 캡쳐된 화면을 서버로 전송하는 방법
    BitmapData로 캡쳐된 화면은 JPGEncoder및 PNGEncoder를 이용하여 JPG또는 PNG형태로 변환후 데이타를 서버로 전송한다.
  4. 전송된 이미지를 서버에 저장하는 방법
    여기에 있는 예제는 PHP를 사용했다. Flex로부터 받은 이미지파일을 서버의 특정디렉토리에 저장하도록 한다.
아래 링크에서 VideoDisplay, QuePoint, BitmapData에 대해 참고할 수 있을것이다.
http://flexdocs.kr/docs/flex2/langref/m ··· lay.html
http://flexdocs.kr/docs/flex2/docs/00000546.html
http://flexdocs.kr/docs/flex2/langref/m ··· ger.html
http://flexdocs.kr/docs/flex2/langref/f ··· ata.html
https://www.cynergysystems.com/blogs/page/andrewtrice?entry=flex_2_bitmapdata_tricks_and


소스는 아래 링크를 통해 참고하기 바란다. 주석을 간단하게 달아놓았으니 공부하는데 도움이 될 것이라 생각한다.



글쓴이 : 지돌스타(http://blog.jidolstar.com/215)
이 글의 관련글
Trackback Address :: http://blog.jidolstar.com/trackback/215
Name
Password
Homepage
Secret