flashtr.com

  Component, ActionScript, OOP, Flash 9, CS3, Flash animasyon, buton, movie, grafik, google banner, google optimizasyon, MovieClip(root), xml
Site İçi Arama
flashtr.com Facebook'ta

Ana Sayfa >  Action Script 3.0 > Video (FLVPlayback) ve CUE_POINT kontrolü

Video (FLVPlayback) ve CUE_POINT kontrolü

24.05.2011 11:18:40
 

Öncelikle Video’yu flv’ye çevirmeniz gerekiyor,

 

Window > Component > FLVPlayback sahnemize sürüklüyoruz,

 

FLVPlayback  tıklarayak Properties’den instance name kısmına “display” yazıyoruz.

 

Component parameters kısmında yer alan skin kısmından herhangi bir tanesini seçiyoruz.



FLVPlayback’in süreleri kontrol etmeniz için CUE_POINT özelliği vardır bu özellik sayesinde siz tanımladığınız zaman dilimlerinde olmasını istediğiniz olayları tanımlayabilirsiniz,           

 

örneğin 15 sn’ye geldiğinde bir function’un çalışmasını isteyebilirsiniz ya da tanımladığınız herhangi bir zaman dilimine geldiğinde belli bir frame’e gitmesini sağlayabilirsiniz veya video’nun Türkçe değilse ve siz alt yazı eklemek istiyorsanız bunu çok rahat CUE_POINT ile yapabilirsiniz,

 

Ben bu çalışmada alt yazı olayını gerçekleştirdim, bunun ayrıntılı olarak inceleyecez. ve video ilk görüntülendiğinde play tuşuna basılmadan önce image görüntüleyecez


ön izleme

kaynak dosyalar



package  {
   
    import flash.display.MovieClip;
    import fl.video.*;
    import flash.display.*;
    import flash.events.Event;
    import flash.net.URLRequest;
    import flash.display.LoaderInfo
    import flash.events.MouseEvent;

    public class videoPlay extends MovieClip
    {
        // alt özellikleri istediğim gibi çalıştırabilmek için yeni bir FLVPlayback tanımlıyoruz,   
        public var flvControl:FLVPlayback;
       
        // video ilk görüntülendiğinde play tuşuna basılmadan önce görüntülenecek image
        public var defaultImage:Bitmap;
       
        public function videoPlay()
        {
           
            /*
                as dosyası çalışır çalışmaz ilk önce root’da yer alan
                init function’u çalıştıyoruz.
            */
           
            init()
           
           
            /*
                sahnemize sürüklediğimiz videoyu (instance name display)
                yukarıda tanımladığımız flvControl’e eşitliyoruz ve alt
                özelliklerini veriyoruz,
            */
           
            flvControl= display;
            flvControl.autoPlay = false;
            flvControl.autoRewind = true;
            flvControl.scaleMode = VideoScaleMode.NO_SCALE;
            flvControl.source = flvSource; // fla’nın içinden tanımlandı
           
            /*
                FLVPlayback’in süreleri kontrol etmeniz için
                CUE_POINT özelliği vardır bu özellik sayesinde
                siz tanımladığınız zaman dilimlerinde olmasını
                istediğiniz olayları tanımlayabilirsiniz,
                örneğin 15 sn’ye geldiğinde bir function’un
                çalışmasını isteyebilirsiniz ya da tanımladığınız
                herhangi bir zaman dilimine geldiğinde
                belli bir frame’e gitmesini sağlayabilirsiniz veya
                video’nun Türkçe değilse ve siz alt yazı eklemek
                istiyorsanız bunu çok rahat CUE_POINT ile yapabilirsiniz,
           
                Ben bu çalışmada alt yazı olayını gerçekleştirdim,
                bunun ayrıntılı olarak inceleyecez.
            */
           
            /*
                flvControl CUE_POINT tanımladığımı ve bunu kontrol
                etmesi gerektiğini belirtiyorum
            */
           
            flvControl.addEventListener(MetadataEvent.CUE_POINT, cuePointHandler)
                       
            /*
                Dökümanın başında da belirttiğim gibi video ilk görüntülendiğinde
                play tuşuna basılmadan önce image görüntüleyecez ve bunun için
                image yolunu belirtmemiz gerekiyor ve ben bunu "urlString" ile
                ve bu yolu fla’nın içinden tanımlıyor olucam. yani tamamen dinamik
                1’den fazla videonuz olduğunda sadece URL bilgileri
                değiştirmeniz yeterli olacak.
            */                       
                       
            var defaultImagePath:String = urlString
            var defaultImageLoader:Loader= new Loader();
            defaultImageLoader.load(new URLRequest(defaultImagePath));
            /*
                yükleme tamamlandıktan sonra x ve koordinaatlarını tanımlamak
                için contentLoaderInfo kullandım ama siz isterseniz başka özellikleri de
                aktif hale getirebilirsiniz
            */
            defaultImageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, defaultImageHandler);
           
            var defaultImageSprite:Sprite=new Sprite()
            defaultImageSprite.addEventListener(MouseEvent.CLICK, videoStart)
            defaultImageSprite.buttonMode=true;
            defaultImageSprite.mouseChildren=true
            defaultImageSprite.addEventListener(MouseEvent.CLICK, videoStart)
            /*
                image’i (defaultImageLoader) Sprite içine atıyorum ve
                buttonmode durumunu aktif hale getirip, link veriyorum
            */
           
            defaultImageSprite.addChild(defaultImageLoader)
            addChild(defaultImageSprite)


            /*
                alt yazıları ve kaçıncı saniye’de çıkacaklarını
                fla dosyam’da 1nci frame’de bir dizi (translation)
                içinde tanımladım ve bu dizinin uzunluğu kadar
                for döngüsü oluşturarak flvControl nin addASCuePoint
                alt özelliğini aktif hale getirdim.
               
            */       
            for (var i:uint=0; i<translation.length; i++)
            {
                flvControl.addASCuePoint(translation[i][0],translation[i][1])
            }
        }
       
        public function defaultImageHandler(event:Event):void
        {
            defaultImage = event.currentTarget.content as Bitmap;
            defaultImage.x = display.x;
            defaultImage.y = display.y;
            //addChild(defaultImage);// Monitor the video
        }
       
       
        /*
            translation dizisinde tanımlı olan saniye’ye geldiğinde
            bu cuePointHandler function çalışacak ve translation
            dizisindeki o saniyenin karşısında yer alan metni
            root’de yer alan text alanına (translationText) yazdıracak,
            ben metinler içine html kod kullandığım için htmlText özelliğini
            kullandım
        */
       
        public function cuePointHandler(event:MetadataEvent):void
        {
            translationText.htmlText=event.info.name
            trace("time = "+event.info.time);
        }   
       
        /*
            ve kullanıcı yüklenen image’a tıkladıktan sonra
            defaultImageSprite görünürlüğünü false yapıp video’muzu oynatıyoruz.
        */
       
        public function videoStart (event:MouseEvent)
        {
            flvControl.play()
            defaultImage.visible = false
        }
    }
}





"Aradığım burada değil" diyorsanız, sormaktan çekinmeyin.
Adınız
Soyadınız
E-Posta *    
Soru *  

Flash CS5 (1)

Fundamental of Action Script (1)

Temel Bilgiler (1)

Nerede ve Ne zaman Flash (3)

Flash’da ne nedir? (12)

Action Script 3.0 (63)

Flash CS3 (6)

XML (4)

Kitaplar & Eğitim Cd’leri (3)

Pdf Dökümanlar (1)

Flash Video - flv (1)

Hata Sebepleri (3)

Flash Siteler (2)

Grafik Dünyası (25)

Google (4)





Actin Script 3.0 nedir?  

google banner boyutları ve özellikleri  gadget banner kullanımı  flashVars'ı nerede nasıl kullanabilirim  clicktag kullanımı

movieClip renk değiştirme / tint  internet explorer (ie)'de hata verme sebebi   png ile jpeg/jpg arasındaki fark




Copyright © 2009 FLASHTR
Tüm hakları FLASHTR.com'a aittir. Kaynakların yazılı izni olmadan kullanımı yasaktır.

admin@flashtr.com