2011-08-18 2 views
0

저는 flex의 videoplayer 클래스를 사용하여 flv 비디오를 재생하고 있습니다. (모든 속성이 런타임에 설정 됨)플렉스 데스크톱 응용 프로그램에서 액션 스크립트를 사용하여 비디오를 전체 화면으로 만들려면 어떻게해야합니까?

프로그래밍을 통해 전체 화면 버튼을 클릭하지 않고 비디오를 전체 화면으로 만들고 싶습니다.

가능합니까? 그렇다면 어떻게해야합니까?

답변

0

스테이지의 displayState 속성을 사용합니다. Application 클래스에서 스테이지로 변수에 액세스 할 수 있습니다. 그래서, 개념적, 이렇게 :

FlexGlobals.topLevelApplication.stage.displayState = StageDisplayState.FULL_SCREEN 

실행이 코드를 기본 응용 프로그램 태그에 applicationComplete 이벤트 핸들러에서 로딩이 완료된 후 전체 화면 모드로 응용 프로그램을 넣어.

+0

답장을 보내 주셔서 감사합니다.하지만 비디오 클립을 기본적으로 전체 화면으로 전환하도록 설정하려고합니다. 나는 플렉스 4 비디오 플레이어 클래스를 사용하고있다 –

+0

@ Gaurav Sharma 왜 내 대답은 어떻게하는지 알려주지 않습니까? 그것을 시도하고 문제가 있었습니까? 그렇다면 문제는 무엇입니까? – JeffryHouser

1

VideoPlayer의 fullScreenButton에서 click 이벤트를 전송합니다. 그것은 그 부모로부터

yourplayer.fullScreenButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 
0

당신은의 VideoDisplay을 제거 할 수 있습니다 다음 전체 폭 & 높이 스테이지에 추가합니다. 전체 화면을 종료 할 때 프로세스를 되돌립니다.

protected function fullScreenBtn_clickHandler(event:MouseEvent):void 
{ 
    videoContainer.removeChild(videoDisplay)   
    this.stage.addChild(videoDisplay); 
    this.stage.displayState = StageDisplayState.FULL_SCREEN; 
    videoDisplay.width = stage.width; 
    videoDisplay.height = stage.height; 
    this.stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenHandler); 
} 

protected function fullScreenHandler(event:FullScreenEvent):void 
{ 
    if(!event.fullScreen) 
    { 
     this.stage.removeChild(videoDisplay); 
     this.videoContainer.addChild(videoDisplay); 
     videoDisplay.percentHeight = videoDisplay.percentWidth = 100; 
     this.stage.removeEventListener(FullScreenEvent.FULL_SCREEN, fullScreenHandler); 
    } 
} 
관련 문제