Tam ekran modunda video oynatma

Flash Player 9 ve üstü, Adobe AIR 1.0 ve üstü

Flash Player ve AIR, video oynatmanız için tam ekran uygulama oluşturmayı sağlar ve videoyu tam ekrana ölçeklemeyi destekler.

Masaüstünde tam ekran modunda çalışan AIR içeriği için video girişi durana kadar veya kullanıcı tam ekran modundan çıkana kadar oynatma sırasında sistem ekran koruyucusu ve güç tasarrufu seçenekleri devre dışı bırakılır.

Tam ekran modunu kullanma konusunda ayrıntılar için, bkz. Tam ekran modunda çalışma.

Bir tarayıcıda Flash Player için tam ekran modunu etkinleştirme

Bir tarayıcıda Flash Player için tam ekran modunu uygulayabilmeniz için öncelikle uygulamanızın Yayınla şablonu üzerinden bu modu etkinleştirin. Tam ekrana izin veren şablonlar, bir allowFullScreen parametresi içeren <object> ve <embed> etiketlerini barındırır. Şu örnek, bir <embed> etiketinde allowFullScreen parametresini gösterir.

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
    id="fullScreen" width="100%" height="100%" 
    codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"> 
    ... 
    <param name="allowFullScreen" value="true" /> 
    <embed src="fullScreen.swf" allowFullScreen="true" quality="high" bgcolor="#869ca7" 
        width="100%" height="100%" name="fullScreen" align="middle" 
        play="true" 
        loop="false" 
        quality="high" 
        allowScriptAccess="sameDomain" 
        type="application/x-shockwave-flash" 
        pluginspage="http://www.adobe.com/go/getflashplayer"> 
    </embed> 
    ... 
</object>

Flash'ta, Dosya -> Yayınlama Ayarları seçeneklerini belirleyin ve Yayınlama Ayarları iletişim kutusunun HTML sekmesinde Yalnızca Flash - Tam Ekran Moduna İzin Ver şablonunu seçin.

Flex'te, HTML şablonunun tam ekranı destekleyen <object> ve <embed> etiketlerini içerdiğinden emin olun.

Tam ekran modunu başlatma

Bir tarayıcıda çalışan Flash Player içeriği için, fare tıklatma veya tuş basışına yanıt olarak video için tam ekran modunu başlatırsınız. Örneğin, kullanıcı Tam Ekran etiketli bir düğmeyi tıklattığında veya bağlam menüsünden Tam Ekran komutunu seçtiğinde,tam ekran modunu başlatabilirsiniz. Kullanıcıya yanıt vermek için, üzerinde eylemin gerçekleştiği nesneye bir olay dinleyicisi ekleyin. Şu kod, kullanıcının tam ekran moduna girmek için tıklattığı bir düğmeye olay dinleyicisi ekler:

var fullScreenButton:Button = new Button(); 
fullScreenButton.label = "Full Screen"; 
addChild(fullScreenButton); 
fullScreenButton.addEventListener(MouseEvent.CLICK, fullScreenButtonHandler); 
 
function fullScreenButtonHandler(event:MouseEvent) 
{ 
    stage.displayState = StageDisplayState.FULL_SCREEN;     
 
}

Kod, Stage.displayState özelliğini StageDisplayState.FULL_SCREEN olarak ayarlayarak tam ekran modunu başlatır. Bu kod, video ölçekleme, sahne alanında kapladığı alanla orantılı olacak şekilde sahne alanının tamamını tam ekrana ölçekler.

fullScreenSourceRect özelliği, tam ekrana ölçeklemek için sahne alanının belirli bir alanını belirtmenize olanak sağlar. İlk olarak, tam ekrana ölçeklemek istediğiniz dikdörtgeni tanımlayın. Daha sonra bunu Stage.fullScreenSourceRect özelliğine atayın. fullScreenButtonHandler() işlevinin bu sürümü, yalnızca videoyu tam ekrana ölçekleyen iki ek kod satırı ekler.

private function fullScreenButtonHandler(event:MouseEvent) 
{ 
    var screenRectangle:Rectangle = new Rectangle(video.x, video.y, video.width, video.height); 
    stage.fullScreenSourceRect = screenRectangle; 
    stage.displayState = StageDisplayState.FULL_SCREEN; 
}

Bu örnek fare tıklatmasına yanıt olarak bir olay işleyicisi çağırsa da, tam ekran moduna gitme tekniği, Flash Player ve AIR uygulamaları için aynıdır. Ölçeklemek istediğiniz dikdörtgeni tanımlayın ve sonra Stage.displayState özelliğini ayarlayın. Daha fazla bilgi için bkz. Adobe Flash Platform için ActionScript 3.0 Başvurusu.

Daha sonra gelen örneğin tamamı, video için bağlantı ve NetStream nesnesi oluşturan videoyu oynatmaya başlayan kodu ekler.

package 
{ 
    import flash.net.NetConnection; 
    import flash.net.NetStream; 
    import flash.media.Video; 
    import flash.display.StageDisplayState; 
    import fl.controls.Button; 
    import flash.display.Sprite; 
    import flash.events.MouseEvent; 
    import flash.events.FullScreenEvent; 
    import flash.geom.Rectangle; 
     
    public class FullScreenVideoExample extends Sprite 
    {     
        var fullScreenButton:Button = new Button(); 
        var video:Video = new Video(); 
 
        public function FullScreenVideoExample() 
        { 
            var videoConnection:NetConnection = new NetConnection(); 
            videoConnection.connect(null); 
             
            var videoStream:NetStream = new NetStream(videoConnection); 
            videoStream.client = this; 
 
            addChild(video); 
             
            video.attachNetStream(videoStream); 
             
            videoStream.play("http://www.helpexamples.com/flash/video/water.flv"); 
             
            fullScreenButton.x = 100; 
            fullScreenButton.y = 270; 
            fullScreenButton.label = "Full Screen"; 
            addChild(fullScreenButton); 
            fullScreenButton.addEventListener(MouseEvent.CLICK, fullScreenButtonHandler); 
        } 
 
        private function fullScreenButtonHandler(event:MouseEvent) 
        {  
            var screenRectangle:Rectangle = new Rectangle(video.x, video.y, video.width, video.height); 
            stage.fullScreenSourceRect = screenRectangle; 
            stage.displayState = StageDisplayState.FULL_SCREEN;  
        }     
         
        public function onMetaData(infoObject:Object):void 
        { 
            // stub for callback function 
        } 
    } 
}

onMetaData() işlevi, varsa, video meta verilerinin işlenmesine yönelik geri çağrı işlevidir. Geri çağrı işlevi, çalışma zamanının herhangi türde bir oluşum veya olaya yanıt olarak çağırdığı işlevdir. Bu örnekte, onMetaData()işlevi, işlev sağlama gereksinimini karşılayan bir kalıntıdır. Daha fazla bilgi için, bkz. Meta veri ve işaret noktaları için geri çağrı yöntemleri yazma

Tam ekran modundan çıkma

Kullanıcı, Escape tuşu gibi klavye kısayollarından birini girerek tam ekran modundan çıkabilir. ActionScript'te Stage.displayState özelliğini StageDisplayState.NORMAL olarak ayarlayarak tam ekran modunu sonlandırabilirsiniz. Şu örnekteki kod, NetStream.Play.Stop netStatus olayı oluştuğunda tam ekran modunu sonlandırır.

videoStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); 
 
private function netStatusHandler(event:NetStatusEvent) 
{ 
    if(event.info.code == "NetStream.Play.Stop") 
        stage.displayState = StageDisplayState.NORMAL; 
}

Tam ekran donanım ivmesi

Sahne Alanı'nın dikdörtgen bir alanını tam ekran moduna yeniden ölçeklediğinizde, Flash Player veya AIR mevcutsa veya etkinde donanım hızlandırmayı kullanır. Çalışma zamanı, videonun veya sahne alanının bir kısmının tam ekran boyutuna ölçeklenmesini hızlandırmak için bilgisayardaki video adaptörünü kullanır. Bu koşullarda, Flash Player uygulamaları genellikle Video sınıfından StageVideo sınıfına geçerek kâr sağlayabilirler.

Tam ekran modunda donanım hızlandırmasıyla ilgili daha fazla bilgi için bkz. Tam ekran modunda çalışma. StageVideo hakkında daha fazla bilgi için bkz. Donanım hızlandırmalı oluşturma için StageVideo sınıfını kullanma.