전체 화면 지원

FLVPlayback 구성 요소의 ActionScript 3.0 버전은 전체 화면 모드를 지원하므로 Flash Player 9.0.28.0 이상이 필요하며 전체 화면 보기를 위해서는 HTML이 올바르게 설정되어 있어야 합니다. 미리 제작된 일부 스킨에는 전체 화면 모드를 설정/해제할 수 있는 전환 버튼이 들어 있습니다. 다음 그림에서 FullScreenButton 아이콘은 컨트롤 막대의 오른쪽에 표시됩니다.

컨트롤 막대에 표시된 전체 화면 아이콘

전체 화면 지원은 fullScreenTakeOver 속성이 기본값인 true 로 설정된 경우에만 발생합니다.

전체 화면 지원은 하드웨어 가속 지원 여부에 관계없이 발생할 수 있습니다. 하드웨어 가속 지원에 대한 자세한 내용은 하드웨어 가속 을 참조하십시오.

FLVPlayback의 전체 화면 지원을 구현하려면

  1. 응용 프로그램에 FLVPlayback 구성 요소를 추가하고 해당 구성 요소에 비디오 파일을 지정합니다.

  2. 전체 화면 버튼이 있는 FLVPlayback 구성 요소의 스킨(예: SkinUnderPlaySeekFullscreen.swf)을 선택하거나 [구성 요소] 패널의 [비디오] 섹션에서 FLVPlayback 구성 요소에 FullScreenButton 사용자 인터페이스 구성 요소를 추가합니다.

  3. [파일] > [제작 설정]을 선택합니다.

  4. [제작 설정] 대화 상자에서 [HTML] 탭을 클릭합니다.

  5. [HTML] 탭의 [템플릿] 팝업 메뉴에서 [Flash 전용 - 전체 화면 가능]을 선택합니다.

  6. 또한 [HTML] 탭에서 [Flash 버전 감지] 체크 상자를 선택하고 사용 중인 Flash Player 버전에 따라 9.0.28 이상의 버전을 지정합니다.

  7. [포맷] 탭을 선택하고 [Flash(.swf)] 및 [HTML(.html)] 옵션이 모두 선택되어 있는지 확인합니다. 기본 파일 이름을 바꿀 수 있습니다.

  8. [제작]을 클릭하고 [확인]을 클릭합니다.

    7단계의 대체 방법으로, [확인]을 클릭하고 [파일] > [제작 미리 보기] > [기본값 - (HTML)]을 선택하여 내보낸 HTML 파일을 기본 브라우저에서 자동으로 열 수 있습니다. 또는 브라우저에서 내보낸 HTML 파일을 열어 전체 화면 옵션을 테스트할 수도 있습니다.

    웹 페이지에 전체 화면을 지원하는 FLVPlayback 구성 요소를 추가하려면 내보낸 HTML 파일을 열고 SWF 파일을 포함하는 코드를 웹 페이지의 HTML 파일에 복사합니다. 이 코드는 다음 예제와 같습니다.

    //from the <head> section 
     
    <script language="javascript"> AC_FL_RunContent = 0; </script>  
    <script language="javascript"> DetectFlashVer = 0; </script>  
    <script src="AC_RunActiveContent.js" language="javascript"></script> 
    <script language="JavaScript" type="text/javascript">  
    <!--  
    // -----------------------------------------------------------------------------  
    // Globals  
    // Major version of Flash required  
    var requiredMajorVersion = 9;  
    // Minor version of Flash required  
    var requiredMinorVersion = 0;  
    // Revision of Flash required  
    var requiredRevision = 28;  
    // -----------------------------------------------------------------------------  
    // -->  
    </script>  
     
    //and from the <body> section 
     
    <script language="JavaScript" type="text/javascript">  
    <!--  
    if (AC_FL_RunContent == 0 || DetectFlashVer == 0) {  
        alert("This page requires AC_RunActiveContent.js.");  
    } else {  
        var hasRightVersion = DetectFlashVer(requiredMajorVersion, 
            requiredMinorVersion, requiredRevision);  
        if(hasRightVersion) { // if we&apos;ve detected an acceptable version  
            // embed the Flash movie  
            AC_FL_RunContent(  
                &apos;codebase&apos;, &apos;http://download.macromedia.com/pub/ 
                    shockwave/cabs/flash/swflash.cab#version=9,0,28,0&apos;,  
                &apos;width&apos;, &apos;550&apos;,  
                &apos;height&apos;, &apos;400&apos;, 
                &apos;src&apos;, &apos;fullscreen&apos;,  
                &apos;quality&apos;, &apos;high&apos;,  
                &apos;pluginspage&apos;, &apos;http://www.macromedia.com/go/ 
                    getflashplayer&apos;,  
                &apos;align&apos;, &apos;middle&apos;,  
                &apos;play&apos;, &apos;true&apos;,  
                &apos;loop&apos;, &apos;true&apos;,  
                &apos;scale&apos;, &apos;showall&apos;,  
                &apos;wmode&apos;, &apos;window&apos;,  
                &apos;devicefont&apos;, &apos;false&apos;,  
                &apos;id&apos;, &apos;fullscreen&apos;,  
                &apos;bgcolor&apos;, &apos;#ffffff&apos;,  
                &apos;name&apos;, &apos;fullscreen&apos;,  
                &apos;menu&apos;, &apos;true&apos;, 
                &apos;allowScriptAccess&apos;,&apos;sameDomain&apos;, 
                &apos;allowFullScreen&apos;,&apos;true&apos;,  
                &apos;movie&apos;, &apos;fullscreen&apos;,  
                &apos;salign&apos;, &apos;&apos; ); //end AC code  
        } else { // Flash is too old or we can&apos;t detect the plug-in.  
            var alternateContent = &apos;Alternative HTML content should be placed 
                    here.&apos;  
                + &apos;This content requires Adobe Flash Player.&apos;  
                + &apos;<a href=http://www.macromedia.com/go/getflash/>Get Flash</a> 
                        &apos;;  
            document.write(alternateContent); // Insert non-Flash content.  
        }  
    }  
    // -->  
    </script>  
    <noscript>  
        // Provide alternative content for browsers that do not support scripting  
        // or for those that have scripting disabled.  
        Alternative HTML content should be placed here. This content requires Adobe Flash Player.  
        <a href="http://www.macromedia.com/go/getflash/">Get Flash</a>  
    </noscript>

    대체 방법으로, 내보낸 HTML 파일을 웹 페이지의 템플릿으로 사용하고 HTML 파일에 다른 내용을 추가할 수 있습니다. 그러나 이렇게 할 경우에는 나중에 다시 Flash에서 FLVPlayback HTML 파일을 내보낼 때 HTML 파일을 실수로 덮어쓰지 않도록 해당 이름을 변경해야 합니다.

    이 경우 HTML 파일과 동일한 폴더로 내보낸 AC_RunActiveContent.js 파일을 웹 서버에 업로드해야 합니다.

    전체 화면 모드에 대한 ActionScript 지원에는 fullScreenBackgroundColor , fullScreenSkinDelay, fullScreenTakeOver 속성과 enterFullScreenDisplayState() 메서드가 포함됩니다. 이러한 ActionScript 요소에 대한 자세한 내용은 Adobe Flash Professional CS5용 ActionScript 3.0 참조 설명서 를 참조하십시오.

enterFullScreenDisplayState() 사용

다음 예제와 같이 enterFullScreenDisplayState() ActionScript 메서드를 호출하여 전체 화면 모드를 호출할 수도 있습니다.

function handleClick(e:MouseEvent):void { 
    myFLVPlybk.enterFullScreenDisplayState(); 
} 
myButton.addEventListener(MouseEvent.CLICK, handleClick);

이 예제에서는 FLVPlayback 스킨의 전체 화면 전환 버튼을 클릭하여 전체 화면 모드를 호출하는 것이 아니라 웹 페이지의 작성자가 포함시킨 버튼(MyButton)을 클릭하여 전체 화면 모드를 호출합니다. 이 버튼을 클릭하면 handleClick 이벤트 핸들러가 트리거되어 enterFullScreen DisplayState() 메서드가 호출됩니다.

enterFullScreenDisplayState() 메서드는 Stage.displayState 속성을 StageDisplayState.FULL_SCREEN 으로 설정하므로 displayState 속성과 동일한 제한이 적용됩니다. enterFullScreenDisplayState() 메서드와 Stage . displayState 속성에 대한 자세한 내용은 Adobe Flash Professional CS5용 ActionScript 3.0 참조 설명서 를 참조하십시오.

하드웨어 가속

Flash Player 9.0.115.0 이상 버전에는 사용 가능한 비디오 하드웨어를 이용하여 FLVPlayback이 전체 화면 모드에서 재생하는 FLV 파일의 성능과 품질을 향상시키는 코드가 포함되어 있습니다. 요구 사항이 충족되고 fullScreenTakeOver 속성이 true 로 설정되어 있는 경우 Flash Player에서는 소프트웨어 대신 하드웨어 가속을 사용하여 비디오 파일의 크기를 조절합니다. FLVPlayback 구성 요소가 이전 버전의 Flash Player에서 실행되거나 하드웨어 가속을 위한 요구 사항이 충족되지 않는 경우 Flash Player에서는 이전의 방법대로 비디오 파일의 크기를 확대합니다.

전체 화면 지원에 하드웨어 가속을 이용하려면 컴퓨터에 4MB 이상의 VRAM(비디오 RAM)이 장착된 DirectX 7 호환 비디오 카드가 있어야 합니다. 이 하드웨어 지원은 Windows 2000 또는 Mac OS X 10.2 이상의 운영 체제에서 사용할 수 있습니다. Direct X®에서는 소프트웨어와 비디오 하드웨어 간의 인터페이스를 구성하여 3차원 및 2차원 그래픽 등의 속도를 높여 주는 API를 제공합니다.

하드웨어 가속 모드를 이용하려면 다음 중 한 가지 방법으로 전체 화면 모드를 호출해야 합니다.

  • FLVPlayback 스킨의 전체 화면 전환 버튼 사용

  • FullScreenButton 비디오 컨트롤 사용

  • ActionScript enterFullScreenDisplayState() 메서드 사용. 자세한 내용은 enterFullScreenDisplayState() 사용 을 참조하십시오.

    Stage.displayState 속성을 StageDisplayState.FULLSCREEN 으로 설정하여 전체 화면 모드를 호출하면 FLVPlayback에서는 비디오 하드웨어 및 메모리를 사용할 수 있는 경우에도 하드웨어 가속을 사용하지 않습니다.

    전체 화면 지원을 위해 하드웨어 가속을 사용할 경우 FLVPlayback 스킨의 크기가 비디오 플레이어 및 비디오 파일과 함께 조절됩니다. 다음 그림에서는 FLVPlayback 스킨에 하드웨어 가속을 사용한 전체 화면 모드의 결과를 최대 해상도로 자세히 보여 줍니다.

    320x240 픽셀 비디오를 사용한 1600x1200 모니터의 전체 화면 모드
    320x240 픽셀 비디오를 사용한 1600x1200 모니터의 전체 화면 모드

    이 그림에서는 1600 x 1200 모니터에서 기본 FLVPlayback 크기인 폭 320, 높이 240의 비디오 파일을 전체 화면 모드를 사용하여 재생한 결과를 보여 줍니다. 스킨의 왜곡 효과는 FLV 파일의 크기가 작거나 모니터 크기가 클수록 뚜렷이 나타나며, FLV 파일의 크기가 크거나 모니터 크기가 작을수록 적게 나타납니다. 예를 들어, 모니터를 640 x 480에서 1600 x 1200으로 변경하면 스킨의 크기도 늘어나지만 왜곡 효과는 적게 나타납니다.

    skinScaleMaximum 속성을 설정하여 FLVPlayback 스킨의 크기 조절을 제한할 수 있습니다. 기본값은 4.0 또는 400%입니다. 그러나 스킨의 크기 조절을 제한하면 하드웨어와 소프트웨어를 함께 사용해야 FLV의 크기를 조절할 수 있으며 따라서 높은 비트율에서 인코딩된 큰 크기의 FLV에서는 성능이 저하될 수 있습니다. 비디오가 큰 경우(예를 들어, 폭 640픽셀 이상, 높이 480픽셀 이상) skinScaleMaximum 을 작은 값으로 설정하지 마십시오. 그러면 대형 디스플레이 모니터에서 현저한 성능 문제가 발생할 수 있습니다. skinScaleMaximum 속성을 사용하면 성능과 품질을 모두 적절한 수준으로 관리하고 큰 스킨의 모양을 관리할 수 있습니다.

전체 화면 모드 종료

전체 화면 모드를 종료하려면 전체 화면 버튼을 다시 클릭하거나 Esc 키를 누릅니다.

height , registrationHeight , registrationWidth , registrationX , registrationY , scaleX , scaleY , width , x y 속성을 설정하고 setScale() 또는 setSize() 메서드를 호출하면 레이아웃이 변경되어 FLVPLayback 구성 요소의 전체 화면 모드가 종료될 수 있습니다.

align 또는 scaleMode 속성을 설정할 경우 FLVPlayback에서는 전체 화면 모드가 종료될 때까지 해당 속성을 center maintainAspectRatio 로 설정합니다.

전체 화면을 사용하고 있을 때 fullScreenTakeOver 속성 값을 true 에서 false 로 변경하면 Flash에서 하드웨어 가속 모드로 전환되어 전체 화면 모드가 종료됩니다.