sponsor adobe istanbul
Profili Göster

List Component ile FLV Player Listesi

Hasan Alış Tarih: 1/10/2005 Yorum: 1 adet

Okunma : 309 Tutanlar: Bu yazıyı 0 kişi tuttu.

Etiketler :

Yeniden mehaba. Daha önce buradan paylaşma fırsatı bulduğumuz, Flash ve .Flv konusunda pek çok faydalı bilgiler içeren yazılarımıza bir yenisini daha ekliyoruz. Flash MX 2004 Professional – Media Componentlerinin Actionscript ile Kontrolü, Flash MX 2004 Pro. ile Sunum Hazırlamak ve Flash ve FLV ‘ ye Giriş(Flash Video).

Bu yazımızda flv ve flash kullanımında yeni bir aşamaya geçip "yarı-dinamik" bir uygulama yapacağız.

mmistanbul.com

TAVSİYE: Bu makale bir önceki makaleden metot ve özellikler içermekte. Eğer bu konuda bir önbilgi sahibi olmak istiyorsanız, Media Componentlerinin AS ile kontrolü isimli makaleyi okuyunuz.

1- Öncelikle yeni bir dosya açıyoruz. boyutları 554 × 415 olsun. 2- Daha sonra sahneme bir adet background tanımlıyorum.

mmistanbul.com

3- Sahnemin sol alt kısmına Media Components kısmından MediaDisplay componentini sürükleyip bırakıyorum ve kenarlarını rectangle tool ile çiziyorum. Sol üst kısma da List Component’i sürükleyip bırakıyorum.

mmistanbul.com

Media Display in boyutu : 336 × 224 – Instance Name : flv_list List Component in boyutu : 336 × 161 – Instance Name : media_display

mmistanbul.com

4- List componenti seçiyorum ve properties kısmında açılan ayarlardan Label kısmına çift tıklıyorum. ve açılan dialog kutusunda + işaretini kullanarak .FLV dosyalarımın listede görünecek isimlerini giriyorum.

mmistanbul.com

mmistanbul.com

5- Aynı şekilde data kısmına çift tıklayıp açılan dialog kutusuna bu kez .FLV dosyalarımızın isimlerini gireceğiz. Ben isimler (01, 02… gibi) kullanıyorum. Siz istediğiniz ismi koyabilirsiniz.

mmistanbul.com

mmistanbul.com

Buraya kadar herşey tamam. Listemizde seçeneklerimiz bulunuyor fakat tıkladığımızda herhangi bir işlem söz konusu değil. Şimdi sahnemizde bulunan 2 componentimizi birbirine bağlayacak olan işlemi gerçekleştireceğiz.

List component seçildiğinde çalışmak için herhangi bir referans içermiyor. Varsayılan şemanın özellikleri dataProvider, selectedIndex, selectedIndices, selectedItem, selectedItems dir. Biz burda iletişimi sağlamak için List componentin selectedItem in data özelliği ile mediaDisplay in contentPath özelliklerini kullanacağız.

1- List Componenti seçiyoruz. Component Inspector da ayarlardan Schema bölümüne geliyoruz. SelectedItem : Object i seçip ve üstteki 2. artı butonuna (Add a field under the selected field) tıklıyoruz. (data özelliği selectedItem in özelliğidir, fakat bu varsayılan listede gözükmez eklemek zorundasınız. 2. artı butonu ile ekleyebilirsiniz.)

mmistanbul.com

tıkladıktan sonra hemen alt kısıma new field : String eklenecek.

mmistanbul.com

tıklayıp field name kısmından adına data yazıyoruz.

Şimdi sıra geldi 2 componenti birbirinden haberdar etmeye. SelectedItem in data özelliği ve mediaDisplay in contentPath özelliklerini birleştireceğiz. Bu sayede kullanıcı List component’e tıkladığı zaman mediaDisplay componentimiz bunu hemen algılayacak.

1- List component’i seçiyoruz ve Component Inspector panelinden Bindings kısmına geçiyoruz ve + (Add Binding) butonuna tıklıyoruz ordan da SelectedItem : Object’in alt seçeneği olan data : String seçeneğini seçiyoruz ve Ok butonuna basıyoruz.

mmistanbul.com

mmistanbul.com

mmistanbul.com

Şimdi selectedItem.data eklendi listemize onu seçiyoruz ve aşağıdaki seçeneklerden direction seçeneğinin out olduğundan emin olmalıyız çünkü bu değer bizim başka bir component ile bağlantıya geçtiğimiz anlamına geliyor. Bundan emin olduktan sonra hemen altta olan bound to seçeneğini buluyoruz ve çift tıklıyoruz. Bound to dialog kutusu açılıyor ve solda componentlerimiz listeleniyor. Listeden MediaDisplay componentimizi seçince sağ kısımda bulunan Schema location kısmı açılıyor. Ordaki listeden contentPath : String i seçiyoruz ve Ok butonuna tıklıyoruz.

mmistanbul.com

Moviemiz şu an itibariyle listeden tıklandığında oynuyor.

UYARI :

mmistanbul.com

Dikkat ederseniz moviemizin kütüphanesine DataBindingClasses compiled clip‘ini eklediğini göreceksiniz. DataBindingClasses compiled clip SWF dosyamıza 18 KB daha ekler. DataBindingClasses compiled clip’i data bağlama işlemi ile ilgili bütün Actionscript 2.0 sınıflarını içermektedir. Bu şekilde kaç tane bağlama yaparsanız yapın kütüphanenizde sadece bir adet klip olacaktır. (Sakın gaflete düşüp te nerden geldi bu ben böle birşey eklememiştim diyerekten silmeyin, o zaman çalışmayacaktır bağlama işlemi)

Şimdi biraz modifiye edeceğiz…

1- Moviemiz ilk açıldığında herhangi bir FLV oynamıyor, ilk açılışta ilk videonun oynamasını sağlayacağız.

2- Listede tıkladığımız yada o anda oynayan FLV dosyasını tespit edip bittikten sonra sıradaki videoya geçmesini sağlayacağız.

1. frame :



//mediaDisplayin yolunun değişkene aktarımı
var m = _root.media_display;

//list componentin yolunun değişkene aktarımı
var v = _root.flv_list;
//list componentin stil rengini ayarlıyoruz.
//varsayılan olarak açık yeşil gelir.
v.setStyle("themeColor", 0xFFCC00);

//mediaDisplay component boyut ayarı
m.aspectRatio =false;
m.autoSize= false;

//list componentteki girdiğimiz dataları değişkene aktarıyoruz.
//hatırlayın FLV data kısmına FLV isimlerini girmiştik.
//01.flv 02.flv .....
var flv_liste:String = v.data;

//list componentteki verilerimizin uzunluğunu alıyoruz.
//kaç tane değer girdiysek, bize rakamsal çıktı verecek.
//bizim 8 çıktısını alırız.
//çünkü 8 adet FLV dosyamız var.
var len:Number = flv_liste.length;

//ilk açılışta MediaDisplay de ilk olan video oynasın
//ve ilk seçim seçili halde olsun.
//bunu setMedia ile de çok kolay yapabilirdik, oynardı.
//fakat list componentten herhangi bir seçim olmadığı
//anlayamazdı ve bir sonraki videoya geçmezdi.
if(v.selectedIndex == undefined){
v.selectedIndex = 0;
var starterPoint:Number = 0;
m.contentPath = v.data[starterPoint];
m.play();
}

//o anda oynayan videonun bittiğini anlayıp
//bir sonraki video ya geçmesi için Listener hazırlıyoruz.
var myListener = new Object();
myListener.complete = function(eventObject) {
//list componentte o anda seçili olan seçeneği değişkene atıyoruz
var selIndex:Number = v.selectedIndex;
//secim diye bir değişken tanımlıyoruz.
var secim:Number;
//burda bir karşılaştırma yapıyoruz.
//eğer selIndex tanımlı değilse secim değişkenini 0'a eşitle
//tanımlıysa secim'i selIndex+1 e eşitle
//yani eğer seçim tanımlı ise o anda çalanvideo bittikten sonra 1 arttıracak
v.selectedIndex = (selIndex==undefined ? secim=0 : secim = selIndex+1);
//en sondaki FLV bittiğinde başa dönmesini
//ve baştan çalmasını sağlıyoruz.
if(secim==len){
secim=0;
v.selectedIndex=0;
}
//değerini ayarladığımız secim değişkeninin değerini
//list componentin data özelliğine aktarıyoruz
//bunu da mediaDisplay componentinin contentPath özelliğine aktarıyoruz.
//hatırlayın contentPath setMedia'da FLV dosyamızı oynatmak için URL sağlıyordu.
//bunları karşılaştırarak FLV'yi mediaDisplay componentine aktarıyoruz
m.contentPath = v.data[secim];
//ve FLV'yi başlatıyoruz.
m.play();
}
m.addEventListener("complete", myListener);

Evet. Şimdi moviemiz ilk açıldığında 1. FLV oynuyor ve ilk seçenek seçili halde geliyor. Oynayan her FLV tamamlandıktan sonra bir sonrakine geçiyor. (ister o bu şekilde devam eder, isterseniz siz herhangi birini seçersiniz farketmez o yine bir sonrakine geçecektir.)

Bu şekilde üzerinde oynamalar yapıp biraz daha geliştirebilirsiniz. Bazı arkadaşlar diyebilir yaw bunun pause ve play vs. butonları yok. Hazır olana alışmamak adına ben bilerek kontrolleri olmayan MediaDisplay componentini kullandım. Diğer metot ve özellikleri bir önceki makalemizde vermiştik. Diğer makale ile birlikte birleştirerek çok daha başarılı çalışmalar çıkacağına inanıyorum.

Herkese faydalı olması dileklerimle… Bütün arkadaşlara çalışmalarında başarılar diliyorum.

Yardımlarını esirgemeyen dostlarıma sonsuz saygı ve sevgilerimle….

Flv Oynatıcımızın kaynak dosyasını indirmek için tıklayınız -> 1.2 mb!

Kaynak video dosyalarınıı indirmek için tıklayınız -> 24 mb!

Bu konuyla ilgili soru ve görüşlerinizi hasan@mediaprestige.com e-posta adresime gönderebilirsiniz.

Kaynaklar :

  • Macromedia.com
  • macromedia.com/devnet/
  • www.dancarrdesign.com
  • Video kaynağı (http://www.ea.com/downloads/eagames/official/nfs_underground/gallery/videos/all/ )
  • communitymx.com

aç-kapa İçeriğin rss beslemesi kullanımda değil Yorumlar

Profili Göster
Murat Aydın 2/09/2008

dosyaları indiremiyorum. linkler çalışmıyor..

MMIstanbul Adobe UG MMIstanbul Adobe UG

adobe user group

ColdFusion, Flex, AIR, Flash, PDF, Dreamweaver, Fireworks, Photoshop, Illustrator, INdesign, Premiere, Soundbooth, Lightroom, InCopy, JRun, LiveCycle, Acrobat, AfteEffects, Resmi Adobe Kullanıcı Grubu.

yeni üyelik | şifremi unuttum

aç-kapa Konferans 2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08

2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08

2.Ulusal Yazılım Mimarisi Konferansı (UYMK’08), 11 – 12 Eylül 2008 tarihlerinde Ege Üniversitesi Bilgisayar Mühendisliği Bölümü ev sah...
Kategori: Konferans

aç-kapa Sergi İstanbul'da Bir Sürrealist: Salvador Dali

İstanbul'da Bir Sürrealist: Salvador Dali

Picasso ve Rodin’den sonra kimi görmek istersiniz deseler; Salvador Dali listenin ilk başlarında yer almaz mı? Ressam, yazar, bilim adamı, tasar...
Kategori: Sergi

aç-kapa Eğitim PAZARLAMA EĞİTİMLERİ

PAZARLAMA EĞİTİMLERİ

1-0 Eğitim Ajansı, eğitim programları Yer : Bir Sıfır Eğitim Danışmanlık Zaman Aralığı : Eylül – Ekim 2008 Adres : Çırağan Cad. Şahnisin Sok. No...
Kategori: Eğitim

aç-kapa Eğitim İLETİŞİM EĞİTİMLERİ

İLETİŞİM EĞİTİMLERİ

Kısa zamanda sektöre hızlı bir giriş yapan 1-0 Eğitim Ajansı iş hayatında kariyer yapmak isteyen katılımcılarını 1-0 öne geçirmeye devam ediyor. 1-0 ...
Kategori: Eğitim

aç-kapa Yarışma İnteraktif Pazarlama Zirvesi ve Grand Interactive Awards

İnteraktif Pazarlama Zirvesi ve Grand Interactive Awards

Türkiye’nin interaktif pazarlama projelerini değerlendiren ilk ve tek yarışması Grand Interactive Awards (GIA) için başvurular 15 Ağustos tarihi...
Kategori: Yarışma

üyeler Üyelerimizden...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 223 (2 kayıtlı, 221 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

coldfusion mysql ubuntu
 
sponsor adobe istanbul