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.
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şullar altında, Flash Player uygulamaları genellikle bir Video sınıfından (veya Flash Player 11.4/AIR 3.4 ve üstünde Camera sınıfından) StageVideo sınıfına geçilmesinden avantaj sağlayabilir.
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ı gösterim için StageVideo sınıfını kullanma
.