フルスクリーンのサポート

FLVPlayback コンポーネントの ActionScript 3.0 バージョンでは、フルスクリーンモードをサポートしています。このモードには、Flash Player 9.0.28.0 以降が必要であり、フルスクリーンで表示されるように HTML を正しく設定する必要があります。一部のデザイン済みスキンには、フルスクリーンモードのオンとオフを切り替えるためのトグルボタンが用意されています。FullScreenButton アイコンは、次の図のコントロールバーの右側に表示されています。

コントロールバーのフルスクリーンアイコン

フルスクリーンモードは、 fullScreenTakeOver プロパティが true (デフォルト値)に設定されている場合にのみサポートされます。

フルスクリーンのサポートは、ハードウェアアクセラレーションがサポートされているかどうかに関係なく、実装できます。ハードウェアアクセラレーションのサポートについては、 ハードウェアアクセラレーション を参照してください。

FLVPlayback にフルスクリーンのサポートを実装するには:

  1. FLVPlayback コンポーネントをアプリケーションに追加し、ビデオファイルを割り当てます。

  2. フルスクリーンのボタン(例えば、SkinUnderPlaySeekFullscreen.swf)を含むスキンを FLVPlayback コンポーネントに選択するか、コンポーネントパネルの「ビデオ」セクションから FLVPlayback コンポーネントに FullScreenButton ユーザーインターフェイスコンポーネントを追加します。

  3. ファイル/パブリッシュ設定を選択します。

  4. パブリッシュ設定ダイアログボックスで、「HTML」タブをクリックします。

  5. 「HTML」タブで、テンプレートポップアップメニューから「Flash でのフルスクリーンサポート」を選択します。

  6. また、「HTML」タブで、「フラッシュのバージョンを検出」チェックボックスを選択し、使用している Flash Player のバージョンに応じて、9.0.28 以降のバージョンを指定します。

  7. 「フォーマット」タブを選択し、「Flash(.swf)」オプションと「HTML(.html)」オプションの両方が選択されていることを確認します。デフォルトのファイル名を置き換えることができます。

  8. 「パブリッシュ」をクリックし、「OK」をクリックします。

    手順 7 の代わりに「OK」をクリックし、ファイル/パブリッシュプレビュー/デフォルト - (HTML)を選択すると、書き出した HTML ファイルがデフォルトのブラウザーに表示されます。または、書き出した HTML ファイルをブラウザーで表示して、フルスクリーンオプションをテストします。

    フルスクリーンモードがサポートされた FLVPlayback コンポーネントを Web ページに追加するには、書き出した HTML ファイルを開き、SWF ファイルを Web ページの 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 ファイルを Web ページのテンプレートとして使用し、他のコンテンツを追加することもできます。ただしその場合は、後で Flash から FLVPlayback の HTML ファイルを書き出すときに間違ってファイルを上書きしないように、HTML ファイルの名前を変更します。

    いずれの場合も、HTML ファイルと同じフォルダーに書き出した AC_RunActiveContent.js ファイルを、Web サーバーにアップロードする必要があります。

    ActionScript によるフルスクリーンモードのサポートには、 fullScreenBackgroundColor プロパティ、 fullScreenSkinDelay プロパティ、 fullScreenTakeOver プロパティおよび enterFullScreenDisplayState() メソッドが用意されています。これらの ActionScript エレメントについては、「 Adobe Flash Professional CS5 用 ActionScript 3.0 リファレンスガイド 」を参照してください。

enterFullScreenDisplayState() の使用

次の例に示すように、ActionScript の enterFullScreenDisplayState() メソッドを呼び出して、フルスクリーンモードを起動することもできます。

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

この例では、FLVPlayback スキンのフルスクリーントグルボタンをクリックしてフルスクリーンモードを起動するのではなく、Web ページの作成者がフルスクリーンモードを起動するために挿入したボタン(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 で実行する場合、またはハードウェアアクセラレーションに関する前提条件が満たされていない場合は、以前と同様にビデオファイル自体を拡大します。

フルスクリーンモードのサポートのためにハードウェアアクセラレーションを利用するには、4 MB 以上の VRAM(ビデオ RAM)を備えた DirectX 7 対応のビデオカードがコンピューターに搭載されている必要があります。このハードウェアサポートは、Windows 2000 または Mac OS X 10.2、およびこれらのオペレーティングシステムのそれ以降のバージョンで利用できます。Direct X® は、ソフトウェアとビデオハードウェアの間でインターフェイスとして機能する API を提供し、特に 2 次元および 3 次元グラフィックの処理を高速化します。

また、ハードウェアアクセラレーションモードを利用するには、次のいずれかの方法でフルスクリーンモードを起動する必要があります。

  • FLVPlayback スキン上のフルスクリーントグルボタンを使用する。

  • FullScreenButton ビデオコントロールを使用する。

  • enterFullScreenDisplayState() メソッドを使用する。詳しくは、 enterFullScreenDisplayState() の使用 を参照してください。

    Stage.displayState プロパティを StageDisplayState.FULLSCREEN に設定してフルスクリーンモードを起動する場合、ビデオハードウェアおよびメモリが使用できる場合でも、FLVPlayback ではハードウェアアクセラレーションが使用されません。

    フルスクリーンモードをサポートするためにハードウェアアクセラレーションを使用すると、ビデオプレーヤーおよびビデオファイルに合わせて、FLVPlayback のスキンが拡大されます。次の図は、ハードウェアアクセラレーションを使用したフルスクリーンモードで FLVPlayback のスキンを再生した結果(フル解像度で表示されたイメージの詳細)を示しています。

    解像度 1600 x 1200 のモニターでのフルスクリーンモード (幅 320 ピクセル、高さ 240 ピクセル)
    解像度 1600 x 1200 のモニターでのフルスクリーンモード (幅 320 ピクセル、高さ 240 ピクセル)

    このイメージは、解像度が 1600 x 1200 のモニターでフルスクリーンモードを使用して、幅 320 ピクセル、高さ 240 ピクセル(FLVPlayback コンポーネントのデフォルトのサイズ)のビデオファイルを再生した結果です。拡大されたスキンの歪みは、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 に変更しても、フルスクリーンモードが終了します。