Paket | flash.net |
Sınıf | public class NetStream |
Miras Alma | NetStream EventDispatcher Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Aşağıdakileri yapmak için NetStream sınıfını kullanın:
- Bir ortam dosyasını yerel diskten, web sunucusundan veya Flash Media Server'dan oynatmak için,
NetStream.play()
öğesini çağırın. - Bir videoyu, sesi veya veri akışını Flash Media Server'da yayınlamak için,
NetStream.publish()
öğesini çağırın. - Veri mesajlarını tüm abone istemcilere göndermek için,
NetStream.send()
öğesini çağırın. - Canlı bir akışa meta veri eklemek için,
NetStream.send()
öğesini çağırın. - ByteArray verilerini NetStream'e iletmek için,
NetStream.appendBytes()
öğesini çağırın.
Not:Aynı NetStream nesnesi üzerinde bir akışı oynatamaz ve yayınlayamazsınız.
Adobe AIR ve Flash Player 9.0.115.0 ve sonraki sürümler, standart MPEG-4 kap biçiminden türeyen dosyaları destekler. Bu dosyalar arasında, F4V, MP4, M4A, MOV, MP4V, 3GP ve 3G2 (H.264 videoyu veya HEAAC v2 kodlanmış sesi ya da her ikisini içeriyorsa) yer alır. H.264, Sorenson veya On2'deki aynı kodlama profiliyle karşılaştırıldığında daha düşük bit hızlarında daha yüksek kaliteli video sağlar. AAC MPEG-4 video standardında tanımlanan standart bir ses biçimidir. HE-AAC v2, düşük bit hızlarında kodlama verimliliğini artırmak için dalga boyu yenilemesi (SBR) ve parametrik stereo (PS) tekniklerini kullanan bir AAC uzantısıdır.
Desteklenen codec'ler ve dosya biçimleri hakkında bilgi için bkz.:
- Flash Media Server belgeleri
- Yüksek çözünürlüklü H.264 video ve AAC ses için Flash Player desteğini keşfetme
- FLV/F4V açık belirtim belgeleri
Bir Flash Media Server akışı, aşamalı F4V dosyası veya aşamalı FLV dosyasından veri alma
Flash Media Server, F4V dosyaları ve FLV dosyaları akış veya oynatma sırasında belirli veri noktalarında veri içeren olay nesneleri gönderebilir. Oynatma sırasında bir akıştan veya FLV dosyasından verileri iki şekilde işleyebilirsiniz:
-
Veri nesnesini almak için, client özelliğini bir olay işleyicisiyle ilişkilendirin. Belirli veri işleme işlevlerini çağırmak üzere bir nesne atamak için
NetStream.client
özelliğini kullanın.NetStream.client
özelliğine atanan nesne, şu veri noktalarını dinleyebilir:onCuePoint()
,onImageData()
,onMetaData()
,onPlayStatus()
,onSeekPoint()
,onTextData()
veonXMPData()
. Oynatma sırasında akıştan döndürülen veri nesnesini işlemek için bu işlevler içindeki prosedürleri yazın. Daha fazla bilgi içinNetStream.client
özelliğine bakın. - Veri nesnesini almak için client özelliğini NetStream sınıfının bir alt sınıfıyla ilişkilendirin ve sonra bir olay işleyicisi yazın. NetStream mühürlü bir sınıftır. Başka bir deyişle, özellikler veya yöntemler çalışma zamanındaki bir NetStream nesnesine eklenemez. Ancak, NetStream öğesinin bir alt sınıfını oluşturup olay işleyicinizi alt sınıfta tanımlayabilirsiniz. Ayrıca alt sınıfı dinamik yapabilirsiniz ve olay işleyicisini alt sınıfın bir örneğine ekleyebilirsiniz.
Nesne çoğaltmayı, doğrudan yönlendirmeyi veya API göndermeyi kullanmadan önce bir NetGroup.Neighbor.Connect
olayı almayı bekleyin.
Not: Mp3 dosyası gibi bir ses dosyası üzerinden veri göndermek için, Sound sınıfını kullanarak ses dosyasını bir Sound nesnesiyle ilişkilendirin. Ardından, ses dosyasındaki meta verileri okumak için Sound.id3
özelliğini kullanın.
iOS için AIR'de H.264 ile kodlanmış video desteği
iOS için AIR 3.0 (ve sonraki sürümler), H.264 ile kodlanmış videolara ilişkin olarak NetStream API'sinin tamamına ait bir altkümeyi destekler. Aşağıdaki tablo, iOS için AIR'de desteklenmeyen NetStream yürütme üyelerini listeler:
Desteklenmeyen özellikler | Desteklenmeyen yöntemler | Desteklenmeyen olaylar |
---|---|---|
bufferTime | appendBytes() | onCuePoint (yalnızca FLV dosyalarıyla çalışır) |
bufferLength | appendBytesAction() | onImageData |
backBufferTime | step() | onSeekPoint |
backBufferLength | onTextData | |
bufferTimeMax | onXMPData | |
bytesLoaded | drmError | |
currentFPS | drmStatus | |
inBufferSeek | onDRMContentData | |
info | drmAuthenticate | |
liveDelay | DRM.encryptedFLV durum olayı kodu | |
maxPauseBufferTime | ||
soundTransform | ||
RTMFP bağlantılarını ifade eden tüm özellikler |
AIR for iOS'u kullanma konusunda daha fazla bilgi için NetStream.play()
yöntemine bakın.
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
audioReliable : Boolean
RTMFP bağlantıları için, sesin tam güvenilirlikle gönderilip gönderilmediğini belirtir. | NetStream | ||
audioSampleAccess : Boolean
RTMFP bağlantıları için, bu NetStream üzerindeki eşler arası abonelerin ses akışını yakalamasına izin verilip verilmediğini belirtir. | NetStream | ||
backBufferLength : Number [salt okunur]
O sırada geri alma ve oynatma için önbelleğe alınan daha önce görüntülenen verinin saniye sayısı. | NetStream | ||
backBufferTime : Number
Flash Player'ın geri alma ve oynatma için önceden görüntülen verinin ne kadarını önbelleğe aldığı, saniye cinsinden. | NetStream | ||
bufferLength : Number [salt okunur]
Şu anda arabellekte olan veri saniyesi sayısı. | NetStream | ||
bufferTime : Number
Akışı görüntülenmeye başlanmadan önce mesajların ne kadar süreyle arabelleğe alınacağını belirtir. | NetStream | ||
bufferTimeMax : Number
Canlı akış içeriği için bir maksimum arabellek uzunluğu belirtir, saniye cinsinden. | NetStream | ||
bytesLoaded : uint [salt okunur]
Uygulamaya yüklenen verilerin bayt sayısı. | NetStream | ||
bytesTotal : uint [salt okunur]
Uygulamaya yüklenmekte olan dosyanın bayt olarak toplam boyutu. | NetStream | ||
checkPolicyFile : Boolean
Uygulamanın yüklenen FLV dosyasının sunucusundan, bu FLV dosyasını yüklemeye başlamadan önce bir etki alanları arası ilke dosyası indirip indirmeyeceğini belirtir. | NetStream | ||
client : Object
Akışı veya F4V/FLV dosyasının verilerini işlemek için üzerinde geri çağırma yöntemleri çağrılan nesneyi belirtir. | NetStream | ||
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
currentFPS : Number [salt okunur]
Saniyede görüntülenen kare sayısı. | NetStream | ||
dataReliable : Boolean
RTMFP bağlantıları için, NetStream.send() çağrılarının tam güvenilirlikle gönderilip gönderilmediğini belirtir. | NetStream | ||
farID : String [salt okunur]
RTMFP bağlantıları için, bu NetStream örneğine bağlı uzak ucun tanımlayıcısı. | NetStream | ||
farNonce : String [salt okunur]
RTMFP ve RTMPE bağlantıları için, bu akışın diğer ucu tarafından bu bağlantı için benzersiz olarak gerçekten seçilen bir değer. | NetStream | ||
inBufferSeek : Boolean
Görüntülenen verinin akıllı arama (TRUE) için önbelleğe alınıp alınmadığını (FALSE) belirtir. | NetStream | ||
info : NetStreamInfo [salt okunur]
Özellikleri, servis kalitesi hakkındaki istatistikleri içeren bir NetStreamInfo nesnesi döndürür. | NetStream | ||
liveDelay : Number [salt okunur]
Abone olan akışın canlı (arabelleğe alınmamış) modda arabelleğe alınan verilerinin saniye sayısı. | NetStream | ||
maxPauseBufferTime : Number
Duraklama modunda mesajların saniye cinsinden ne kadar süre arabelleğe alınacağını belirtir. | NetStream | ||
multicastAvailabilitySendToAll : Boolean
RTMFP bağlantıları için, eşler arası çoklu yayın parçası kullanılabilirlik mesajlarının tüm eşlere mi yoksa yalnızca bir eşe mi gönderildiğini belirtir. | NetStream | ||
multicastAvailabilityUpdatePeriod : Number
RTMFP bağlantıları için, eşlere gönderilen ve eşleri, yerel düğümde yeni eşler arası çoklu yayın medyası parçalarının kullanılabilir olduğu konusunda bilgilendiren mesajlar arasındaki saniye cinsinden aralığı belirtir. | NetStream | ||
multicastFetchPeriod : Number
RTMFP bağlantıları için, yerel düğümün, eşler arası çoklu yayın medya parçasının kullanılabilir olduğunu öğrendiği an ile söz konusu çoklu yayın medya parçasını eşten getirmeyi denediği an arasındaki saniye cinsinden süreyi belirtir. | NetStream | ||
multicastInfo : NetStreamMulticastInfo [salt okunur]
RTMFP bağlantıları için, özellikleri hizmet kalitesiyle ilgili istatistikleri içeren bir NetStreamMulticastInfo nesnesini döndürür. | NetStream | ||
multicastPushNeighborLimit : Number
RTMFP bağlantıları için, proaktif olarak çoklu yayın medyasının götürüleceği maksimum eş sayısını belirtir. | NetStream | ||
multicastRelayMarginDuration : Number
RTMFP bağlantıları için, eşler arası çoklu yayın verilerini, isteyen eşlere belirtilen bir sürenin ötesinde göndermek için, söz konusu eşler arası çoklu yayın verilerinin kullanılabilir olarak kalacağı saniye cinsinden süreyi belirtir. | NetStream | ||
multicastWindowDuration : Number
RTMFP bağlantıları için, eşler arası yayın yeniden birleştirme penceresinin saniye cinsinden süresini belirtir. | NetStream | ||
nearNonce : String [salt okunur]
RTMFP ve RTMPE bağlantıları için, akışın bu ucu tarafından, bu bağlantı için benzersiz olarak gerçekten seçilen bir değer. | NetStream | ||
objectEncoding : uint [salt okunur]
Bu NetStream nesnesi için nesne kodlaması (AMF sürümü). | NetStream | ||
peerStreams : Array [salt okunur]
Bu yayın NetStream örneğini dinleyen tüm abonelik NetStream örneklerini tutan bir nesne. | NetStream | ||
soundTransform : flash.media:SoundTransform
Bu NetStream nesnesindeki sesi kontrol eder. | NetStream | ||
time : Number [salt okunur]
Oynatma kafasının konumu, saniye cinsinden. | NetStream | ||
useHardwareDecoder : Boolean
Akışta donanım hızlandırmalı kod çözmenin kullanılıp kullanılmayacağını belirtir. | NetStream | ||
useJitterBuffer : Boolean
Canlı arabelleksiz akış için gecikmeyi en aza indirir (bufferTime = 0). | NetStream | ||
videoReliable : Boolean
RTMFP bağlantıları için, videonun tam güvenilirlikle gönderilip gönderilmediğini belirtir. | NetStream | ||
videoSampleAccess : Boolean
RTMFP bağlantıları için, bu NetStream üzerindeki eşler arası abonelerin video akışını yakalamasına izin verilip verilmediğini belirtir. | NetStream | ||
videoStreamSettings : VideoStreamSettings
Akış sıkıştırma özelliklerini belirtir. | NetStream |
Yöntem | Tanımlayan: | ||
---|---|---|---|
Bir NetConnection nesnesi üzerinden ortam dosyalarını oynatmak ve veri göndermek için kullanabileceğiniz bir akış oluşturur. | NetStream | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
EventDispatcher nesnesi olan bir olay dinleyici nesnesini, dinleyicinin bir olayın bildirimini alması için kaydeder. | EventDispatcher | ||
Oynatmak için NetStream öğesine bir ByteArray iletir. | NetStream | ||
Zaman ölçeğinde bir kesintiyi gösterir, FIFO'yu atar ve bayt ayrıştırıcıya, dosya üst bilgisini veya bir FLV etiketinin başlangıcını beklemesini söyler. | NetStream | ||
Yeni bir NetConnection nesnesine bir akış ekler. | NetStream | ||
Microphone nesnesinden NetStream nesnesine kaynak olarak verilen ses akışını belirtir. | NetStream | ||
Bir kameradan görüntü yakalamayı başlatır veya theCamera null değerine ayarlıysa, yakalamayı durdurur. | NetStream | ||
Akıştaki tüm verileri oynatmayı durdurur, süre özelliğini 0'a ayarlar ve akışın tekrar kullanılabilir olmasını sağlar. | NetStream | ||
Olay akışına bir olay gönderir. | EventDispatcher | ||
NetStream nesnesi tarafından tutulan tüm kaynakları bırakır. | NetStream | ||
EventDispatcher nesnesinin belirli bir olay türü için kayıtlı dinleyicisi olup olmadığını kontrol eder. | EventDispatcher | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Bir eş yayın akışı, bir eş abonelik akışıyla eşleştiğinde çağrılır. | NetStream | ||
Bir video akışını oynatmayı duraklatır. | NetStream | ||
Yerel bir dizinden veya web sunucusundan bir ortam dosyasını oynatır; Flash Media Server'dan bir ortam dosyasını veya canlı bir akışı oynatır. | NetStream | ||
Dosyalar ve çoklu bit hızları arasında kesintisiz geçiş yapar ve bir bağlantı bırakılıp yeniden bağlandığında NetStream öğesinin kaldığı yerden devam etmesine izin verir. | NetStream | ||
Yerel olarak saklanan bir medya dosyasından DRM meta verilerini ayıklar. | NetStream | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
Bir istemciden Flash Media Server'a akış halinde ses, video ve veri mesajları gönderir, isteğe bağlı olarak akışı iletim sırasında kaydeder. | NetStream | ||
Gelen sesin akışta oynatılıp oynatılmayacağını belirtir. | NetStream | ||
Gelen videonun akışta oynatılıp oynatılmayacağını belirtir. | NetStream | ||
Gelen videoya yönelik kare hızını belirtir. | NetStream | ||
EventDispatcher nesnesinden bir dinleyiciyi kaldırır. | EventDispatcher | ||
[statik]
Bu, AIR uygulamalarında yerel olarak önbelleğe alınmış tüm dijital hak yönetimi (DRM) makbuz verilerini siler. | NetStream | ||
Duraklatılan bir video akışının oynatılmasını sürdürür. | NetStream | ||
Belirtilen konuma en yakın anahtar kareyi (video sektöründe ayrıca I-karesi şeklinde de bilinir) arar. | NetStream | ||
Yayınlanan akışta tüm abone istemcilere bir mesaj gönderir. | NetStream | ||
Temel şifrelenmiş içeriğin görüntülenmesi için gerekli olan DRM kimlik denetimi kimlik bilgilerini ayarlar. | NetStream | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Geçerli olarak görüntülenen kareye göre, belirtilen kare sayısı kadar ileri veya geri gider. | NetStream | ||
Akışın oynatılmasını duraklatır veya devam ettirir. | NetStream | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
Belirtilen nesnenin temel değerini döndürür. | Object | ||
Bir olay dinleyicisinin bu EventDispatcher nesnesiyle mi, yoksa onun belirtilen olay türüne yönelik üst öğelerinden biriyle mi kayıtlı olduğunu kontrol eder. | EventDispatcher |
Olay | Özet | Tanımlayan: | ||
---|---|---|---|---|
[broadcast olayı] Flash Player veya AIR uygulaması işletim sistemi odağına gelip etkin olduğunda gönderilir. | EventDispatcher | |||
Eşzamansız olarak, başka bir deyişle, yerel eşzamansız koddan bir istisna atıldığında gönderilir. | NetStream | |||
[broadcast olayı] Çalışan Flash Player veya AIR uygulaması sistem odağını kaybettiğinde ve etkin olmayan duruma geldiğinde gönderilir. | EventDispatcher | |||
Bir NetStream nesnesi, oynatmadan önce kimlik doğrulama için kullanıcı kimlik bilgilerini gerektiren dijital haklar yönetimi (DRM) şifrelenmiş içeriğini oynatmayı denediğinde gönderilir. | NetStream | |||
Bir dijital haklar yönetimi (DRM) şifrelenmiş dosyasını oynatmaya çalışan NetStream nesnesi DRM ilişkili bir hatayla karşılaştığında gönderilir. | NetStream | |||
Dijital hak yönetimi (DRM) şifrelenmiş içeriği yürütülmeye başladığında gönderilir (kullanıcı kimlik doğrulamasından geçtiğinde ve içeriği yürütmek için yetkili olduğunda). | NetStream | |||
Bir ağ işleminin başarısız olmasına neden olan bir girdi veya çıktı hatası ortaya çıktığında gönderilir. | NetStream | |||
Video içeriği oynatılırken ve belirli mesaj türleri işlenirken gönderilir. | NetStream | |||
Bir NetStream nesnesi durumunu veya hata koşulunu bildirirken gönderilir. | NetStream | |||
Video oynatılırken gömülü bir işaret noktasına ulaşıldığında yanıt vermek için bir dinleyici oluşturur. | NetStream | |||
AIR, bir medya dosyasında gömülü olan DRM içeriği meta verilerini ayıkladığında yanıt vermek üzere bir dinleyici oluşturur. | NetStream | |||
Flash Player oynatılmakta olan bir medya dosyasında bayt dizisi olarak gömülü görüntü verilerini aldığında yanıt vermek için bir dinleyici oluşturur. | NetStream | |||
Flash Player oynatılmakta olan videoda gömülü açıklayıcı bilgileri aldığında yanıt vermek için bir dinleyici oluşturur. | NetStream | |||
NetStream nesnesi bir akışı tamamen oynattığında yanıt vermek için bir dinleyici oluşturur. | NetStream | |||
Bayt ekleme ayrıştırıcısı aratılabilir bir nokta olduğuna inandığı bir noktayla karşılaştığında (örneğin bir video anahtar karesi), appendBytes() öğesinden senkronize olarak çağırılır. | NetStream | |||
Flash Player oynatılmakta olan bir medya dosyasında gömülü metin verilerini aldığında yanıt vermek için bir dinleyici oluşturur. | NetStream | |||
Flash Player, oynatılmakta olan videoda gömülü Adobe Extensible Metadata Platform'a (XMP) özel bilgiler aldığında yanıt vermek için bir dinleyici oluşturur. | NetStream | |||
Uygulama NetStream.play() yöntemini çağırarak dijital haklar yönetimi (DRM) ile şifrelenmiş içeriği oynatmaya çalıştığında gönderilir. | NetStream |
Sabit | Tanımlayan: | ||
---|---|---|---|
CONNECT_TO_FMS : String = "connectToFMS" [statik]
NetStream örneğinin yapıcısına bir parametre olarak kullanılan statik nesne. | NetStream | ||
DIRECT_CONNECTIONS : String = "directConnections" [statik]
Bir eşler arası yayıncı bağlantısı oluşturur. | NetStream |
audioReliable | özellik |
audioReliable:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
RTMFP bağlantıları için, sesin tam güvenilirlikle gönderilip gönderilmediğini belirtir. TRUE olduğunda, bu NetStream üzerinden iletilen tüm ses tamamen güvenilirdir. FALSE olduğunda, iletilen ses tamamen güvenilir değildir, bunun yerine sınırlı süre boyunca yeniden iletilir ve sonra bırakılır. Ses kalitesinden ödün vererek gecikmeyi azaltmak için FALSE değerini kullanabilirsiniz.
Kısmi güvenilirliği desteklemeyen bir ağ protokolünde bu özelliği FALSE olarak ayarlamayı denerseniz, denemeler yok sayılır ve özellik TRUE değerine ayarlanır.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get audioReliable():Boolean
public function set audioReliable(value:Boolean):void
İlgili API Öğeleri
audioSampleAccess | özellik |
audioSampleAccess:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
RTMFP bağlantıları için, bu NetStream üzerindeki eşler arası abonelerin ses akışını yakalamasına izin verilip verilmediğini belirtir. FALSE olduğunda, abone, ses akışı gösterme izni hatalarını yakalamaya çalışır.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get audioSampleAccess():Boolean
public function set audioSampleAccess(value:Boolean):void
İlgili API Öğeleri
backBufferLength | özellik |
backBufferLength:Number
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
O sırada geri alma ve oynatma için önbelleğe alınan daha önce görüntülenen verinin saniye sayısı.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Bu özellik yalnızca veri Flash Media Server 3.5.3 veya sonraki sürümlerinden akışa alınırken kullanılabilir; Flash Media Server ile ilgili daha fazla bilgi için sınıf açıklamasına bakın.
Önceden görüntülenen verilerin ne kadarının önbelleğe alındığını belirtmek için, Netstream.backBufferTime
özelliğini kullanın.
Verilerin önbelleğe alınmasını önlemek için, Netstream.inBufferSeek
özelliğini FALSE olarak ayarlayın.
Uygulama
public function get backBufferLength():Number
İlgili API Öğeleri
backBufferTime | özellik |
backBufferTime:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
Flash Player'ın geri alma ve oynatma için önceden görüntülen verinin ne kadarını önbelleğe aldığı, saniye cinsinden. Varsayılan değer, masaüstü uygulamaları için 30 saniye ve mobil uygulamalar için 3 saniyedir.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Bu özellik yalnızca veri Flash Media Server'ın 3.5.3 sürümü veya sonraki sürümlerinden akışa alınırken kullanılabilir; Flash Media Server ile ilgili daha fazla bilgi için sınıf açıklamasına bakın.
Önceden görüntülenen veriler tekrar sunucudan alınmadığından, bu özelliğin kullanılması, geriye sarma işlemlerinin performansını artırır. Bunun yerine akış, arabellekten yeniden oynatılmaya başlar. Oynatma sırasında, arabellek doluncaya kadar veriler sunucudan akışa alınmaya devam eder.
Geriye sarma konumu, önbellekteki verilerden daha gerideyse, arabellek temizlenir; daha sonra veriler istenen konumda sunucudan akışa alınmaya başlar.
Bu özelliği kullanmak için, Netstream.inBufferSeek
özelliğini TRUE değerine ayarlayın.
Uygulama
public function get backBufferTime():Number
public function set backBufferTime(value:Number):void
İlgili API Öğeleri
bufferLength | özellik |
bufferLength:Number
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Şu anda arabellekte olan veri saniyesi sayısı. Arabelleğin dolmaya ne kadar yakın olduğunu tahmin etmek için bur özelliği bufferTime
özelliğiyle birlikte kullanabilirsiniz (örneğin, verinin arabelleğe yüklenmesini bekleyen bir kullanıcıya geri bildirim görüntülemek için).
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get bufferLength():Number
İlgili API Öğeleri
bufferTime | özellik |
bufferTime:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Akışı görüntülenmeye başlanmadan önce mesajların ne kadar süreyle arabelleğe alınacağını belirtir.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Varsayılan değer 0,1'dir (saniyenin onda biri). O anda arabelleğe alınmış olan saniye sayısını belirlemek için bufferLength
özelliğini kullanın.
Bir sunucu tarafı çalma listesini oynatmak için, bufferTime
öğesini en az 1 saniye olarak ayarlayın. Oynatmada sorun yaşıyorsanız, bufferTime
öğesinin uzunluğunu artırın.
Kayıtlı içerik Önceden kaydedilmiş (canlı olmayan) içeriği akışa alırken deformasyon oluşumunu önlemek için Netstream.bufferTime
değerini 0 olarak ayarlamayın. Varsayılan olarak uygulama, medya verilerini sıraya koyan ve ortamı düzgün bir şekilde oynatan önceden kaydedilmiş içerik için bir girdi arabelleği kullanır. Önceden kaydedilmiş içerik için varsayılan ayarı kullanın veya arabellek süresini artırın.
Canlı içerik canlı içerik akışı yaparken, bufferTime
özelliğini 0 olacak şekilde ayarlayın.
Flash Player 9.0.115.0 sürümünden sonraki sürümlerde, NetStream.pause()
yöntemi çağrıldığında Flash Player arabelleği temizlemez. Flash Player 9.0.115.0 sürümünden önceki sürümlerde Flash Player, oynatmaya devam etmeden önce arabelleğin dolmasını bekliyordu ve bu da sıklıkla gecikmelere yol açıyordu.
Tek bir duraklatma için, NetStream.bufferLength
özelliğinin 60 saniye veya NetStream.bufferTime
öğesinin iki katı kadar sınırı vardır (hangi değer daha yüksekse). Örneğin bufferTime
20 saniyeyse, Flash Player, NetStream.bufferLength
20*2 (40) veya 60 değerlerinden yüksek olan değer olana kadar arabelleğe alır. Bundan dolayı, bu durumda bufferLength
60 olana kadar arabelleğe alır. bufferTime
40 saniyeyse, Flash Player, bufferLength
40*2 (80) veya 60 değerlerinden yüksek olan değer olana kadar arabelleğe alır. Bundan dolayı, bu durumda bufferLength
80 saniye olana kadar arabelleğe alır.
bufferLength
özelliğinin ayrıca mutlak bir sınırı vardır. pause()
öğesine yapılan herhangi bir çağrı bufferLength
öğesinin 600 saniyeden veya bufferTime
* 2 değerinden (hangisi daha yüksekse) daha fazla artmasına yol açıyorsa, Flash Player arabelleği temizler ve bufferLength
öğesini 0 olarak sıfırlar. Örneğin bufferTime
120 saniyeyse, bufferLength
öğesinin 600 saniyeye ulaşması durumunda; bufferTime
öğesinin 360 saniye olması durumunda, bufferLength
öğesinin 720 saniyeye ulaşması durumunda Flash Player arabelleği temizler.
İpucu: Örneğin, izleyiciler bir reklamı izlerken verileri arabelleğe almak için koddaki NetStream.pause()
öğesini kullanabilirsiniz ve ardından ana video başladığında kaldığınız yerden devam edebilirsiniz.
Yeni duraklatma davranışı hakkında daha fazla bilgi için, bkz. http://www.adobe.com/go/learn_fms_smartpause_tr.
Flash Media Server. Arabellek davranışı, arabellek süresinin bir yayın akışında veya abonelik akışında olduğuna bağlıdır. Bir yayın akışında, bufferTime
öğesi, uygulama kareleri bırakmaya başlamadan önce giden arabelleğin ne kadar süre büyüyebileceğini belirtir. Yüksek hızlı bağlantı üzerindeyken arabellek süresi hakkında endişelenmenize gerek yoktur; veriler uygulama tarafından arabelleğe alındıktan hemen sonra gönderilir. Yavaş bir bağlantı üzerindeyken, uygulamanın verileri arabelleğe alma hızıyla verilerin istemciye gönderilme hızı arasında önemli ölçüde bir fark olabilir.
Bir abonelik akışında, bufferTime
öğesi, akışı görüntülemeye başlamadan önce gelen verilerin ne kadar süre arabelleğe alınacağını belirtir.
Kayıtlı bir akış oynatılırken bufferTime
0 ise Flash tarafından küçük bir değer olarak (yaklaşık 10 milisaniye) ayarlanır. Canlı akışlar sonra oynatılırsa (örneğin bir oynatma listesinden) bu arabellek süresi aynı kalır. Yani bufferTime
akış için sıfır olmayan bir değerde kalmaya devam eder.
Uygulama
public function get bufferTime():Number
public function set bufferTime(value:Number):void
İlgili API Öğeleri
bufferTimeMax | özellik |
bufferTimeMax:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
Canlı akış içeriği için bir maksimum arabellek uzunluğu belirtir, saniye cinsinden. Varsayılan değer 0'dır. Arabellek uzunluğu, ağ ve aygıt sorunlarına bağlı olarak (örneğin gönderen ve alıcı arasındaki saat farkı) zamanla artabilir. Buluşmalar ve gözetleme gibi canlı uygulamaların arabellek uzunluğunu kapatmak için bu özelliği ayarlayın.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
bufferTimeMax > 0
ve bufferLength >= bufferTimeMax
olduğunda, ses bufferLength
bufferTime
öğesine ulaşana kadar daha hızlı oynar. Bir canlı akış yalnızca video ise bufferLength
bufferTime
öğesine varır.
Oynatmanın ne kadar geciktiğine bağlı olarak (bufferLength
ve bufferTime
arasındaki fark), Flash Player %1.5 ve %6.25 arasındaki yakalama hızını kontrol eder. Akış ses içeriyorsa, duyulabilir deformasyonu en aza indiren frekans etki alanı aşağı örneklemesi sayesinde daha hızlı oynatma gerçekleşir.
Aşağıdaki durumlarda, bufferTimeMax
özelliğini canlı arabelleğe alınmış akış yakalamayı etkinleştirecek şekilde ayarlayın:
- Flash Media Server'dan gelen akışa alınmış canlı medya
- Veri Oluşturma Modunda akışa alınmış canlı medya (
NetStream.appendBytes()
).
Uygulama
public function get bufferTimeMax():Number
public function set bufferTimeMax(value:Number):void
İlgili API Öğeleri
bytesLoaded | özellik |
bytesLoaded:uint
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Uygulamaya yüklenen verilerin bayt sayısı. Arabelleğin dolmaya ne kadar yakın olduğunu tahmin etmek için bur özelliği bytesTotal
özelliğiyle birlikte kullanabilirsiniz (örneğin, verinin arabelleğe yüklenmesini bekleyen bir kullanıcıya geri bildirim görüntülemek için).
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get bytesLoaded():uint
İlgili API Öğeleri
bytesTotal | özellik |
checkPolicyFile | özellik |
checkPolicyFile:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Uygulamanın yüklenen FLV dosyasının sunucusundan, bu FLV dosyasını yüklemeye başlamadan önce bir etki alanları arası ilke dosyası indirip indirmeyeceğini belirtir. Bu özelliği aşamalı video indirme için ve çağıran SWF dosyasının kendi etki alanının dışındaki dosyaları yüklemek için kullanın. RTMP kullandığınızda bu özellik yok sayılır.
Çağıran SWF'nin etki alanının dışındaki bir etki alanından yüklenen bir videoda BitmapData.draw()
öğesini çağırmak için bu özelliği true
değerine ayarlayın. BitmapData.draw()
yöntemi videoya piksel düzeyinde erişim sağlar. checkPolicyFile
özelliğini yükleme süresinde true
olarak ayarlamadan BitmapData.draw()
öğesini çağırırsanız, gerekli ilke dosyası indirilmediğinden bir SecurityError
istisnası alabilirsiniz.
Yüklediğiniz videoya piksel düzeyinde erişim istemediğiniz sürece bu özelliği true değerine ayarlamayın. Bir ilke dosyasının olup olmadığını kontrol ederseniz ağ bant genişliği azalır ve indirme işleminiz geç başlayabilir.
NetStream.play()
yöntemini checkPolicyFile
öğesi true
olarak ayarlıyken çağırdığınızda, Flash Player veya AIR çalışma zamanı, etki alanları arası ilke dosyasını başarılı bir şekilde indirmelidir veya belirtilen nesneyi indirmeye başlamadan önce böyle bir ilke dosyasının olmadığını belirlemelidir. Bir ilke dosyasının mevcut olduğunu doğrulamak için Flash Player veya AIR çalışma zamanı bu sırada şu eylemleri gerçekleştirir:
- Uygulama, önceden indirilmiş olan ilke dosyalarını göz önünde bulundurur.
- Uygulama,
Security.loadPolicyFile()
yöntemine yapılan çağrılarda belirtilen, bekleyen ilke dosyalarını indirmeyi dener. - Uygulama,
NetStream.play()
öğesine ilettiğiniz URL'ye (o URL ile aynı sunucuda olan/crossdomain.xml
) karşılık gelen varsayılan konumdan bir ilke dosyası indirmeye çalışır.
Tüm durumlarda Flash Player veya Adobe AIR, videonun sunucusu üzerinde uygun bir ilke dosyasının olmasını gerektirir. Böylece, play()
öğesine ilettiğiniz URL üzerindeki nesneye ilke dosyasının konumuna göre erişim sağlar ve çağıran kod dosyasının etki alanının bir ya da daha fazla <allow-access-from>
etiketi üzerinden videoya erişimde bulunmasını sağlar.
checkPolicyFile
öğesini true
değerine ayarlarsanız, uygulama, videoyu indirmeden önce ilke dosyasının doğrulanmasını bekler. NetStream nesnenizden onMetaData
veya NetStatus
olaylarını alıncaya kadar video verileri üzerinde BitmapData.draw()
gibi piksel düzeyinde işlemler yapmak için bekleyin.
checkPolicyFile
öğesini true
olarak ayarlarsanız ancak ilgili bir ilke dosyası bulunamazsa, ilke dosyası gerektiren bir işlem gerçekleştirene kadar hata almazsınız ve ardından uygulama bir SecurityError istisnası atar.
Sunucu tarafındaki HTTP yönlendirmeleri kullanan bir URL'den dosya indiriyorsanız checkPolicyFile
konusunda dikkatli olun. Uygulama NetStream.play()
öğesinde belirttiğiniz ilk URL'ye karşılık gelen ilke dosyalarını almaya çalışır. HTTP yönlendirmeleri nedeniyle son dosya farklı bir URL'den gelirse ilk olarak indirilmiş olan ilke dosyaları, dosyanın güvenlik kararlarında önemli olan son URL'sine uygulanamayabilir.
İlke dosyalarıyla ilgili daha fazla bilgi için, bkz. ActionScript 3.0 Geliştirici Kılavuzunda bulunan "Web sitesi denetimleri (ilke dosyaları)" ve Flash Player Geliştirici Merkezi Konusu: Güvenlik.
Uygulama
public function get checkPolicyFile():Boolean
public function set checkPolicyFile(value:Boolean):void
İlgili API Öğeleri
client | özellik |
client:Object
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Akışı veya F4V/FLV dosyasının verilerini işlemek için üzerinde geri çağırma yöntemleri çağrılan nesneyi belirtir. Varsayılan nesne this
öğesidir, başka bir deyişle, oluşturulan NetStream nesnesidir. client
özelliğini başka bir nesneye ayarlarsanız, geri çağırma yöntemleri o nesne üzerinde çağrılır. NetStream.client
nesnesi aşağıdaki işlevleri çağırıp ilişkili bir veri nesnesi alabilir: onCuePoint()
, onImageData()
, onMetaData()
, onPlayStatus()
, onSeekPoint()
, onTextData()
ve onXMPData()
.
client
özelliğini bir olay işleyicisiyle ilişkilendirmek için:
- Bir nesne oluşturun ve bu nesneyi NetStream nesnesinin
client
özelliğine atayın:var customClient:Object = new Object(); my_netstream.client = customClient;
- İstediğiniz data olayı için istemci nesnesinin bir özelliği olarak işleyici işlevini atayın.
customClient.onImageData = onImageDataHandler;
- data olay nesnesini almak için işleyici işlevini yazın. Örn:
public function onImageDataHandler(imageData:Object):void { trace("imageData length: " + imageData.data.length); }
Akış üzerinden veya oynatma sırasında veri iletildiğinde, data olay nesnesi (bu durumda imageData
nesnesi) veriyle doldurulur. client
özelliğine atanan bir nesnenin tam örneğini içeren onImageData
açıklamasına bakın.
client
özelliğini bir alt sınıfla ilişkilendirmek için:
- data olay nesnesini almak için işleyici işleviyle bir alt sınıf oluşturun:
class CustomClient { public function onMetaData(info:Object):void { trace("metadata: duration=" + info.duration + " framerate=" + info.framerate); }
- NetStream nesnesinin
client
özelliğine bir alt sınıf örneği atayın:my_netstream.client = new CustomClient();
Akış üzerinden veya oynatma sırasında veri iletildiğinde, data olay nesnesi (bu durumda info
nesnesi) veriyle doldurulur. Bir alt sınıf örneğinin client
özelliğine atanmasını gösteren NetStream sınıfının sonundaki sınıf örneğine bakın.
Uygulama
public function get client():Object
public function set client(value:Object):void
Atar
TypeError — client özelliği, null olmayan değere sahip bir nesneye ayarlanmalıdır.
|
İlgili API Öğeleri
currentFPS | özellik |
currentFPS:Number
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Saniyede görüntülenen kare sayısı. Çeşitli sistemlerde oynatılacak video dosyalarını dışa aktarıyorsanız, dosyayı dışa aktarırken ihtiyacınız olan sıkıştırma miktarını belirlemenize yardımcı olması için test sırasında bu değeri kontrol edebilirsiniz.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get currentFPS():Number
dataReliable | özellik |
dataReliable:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
RTMFP bağlantıları için, NetStream.send()
çağrılarının tam güvenilirlikle gönderilip gönderilmediğini belirtir. TRUE olduğunda, bu NetStream üzerinden iletilen NetStream.send()
çağrıları tamamen güvenilirdir. FALSE olduğunda, NetStream.send()
çağrıları tam güvenilirlikle iletilmez, bunun yerine sınırlı bir süre boyunca yeniden iletilir ve sonra bırakılır. Veri kalitesinden ödün vererek gecikmeyi azaltmak için bu değeri FALSE olarak ayarlayabilirsiniz.
Kısmi güvenilirliği desteklemeyen bir ağ protokolünde bu özelliği FALSE olarak ayarlamayı denerseniz, denemeler yok sayılır ve özellik TRUE değerine ayarlanır.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get dataReliable():Boolean
public function set dataReliable(value:Boolean):void
İlgili API Öğeleri
farID | özellik |
farNonce | özellik |
farNonce:String
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
RTMFP ve RTMPE bağlantıları için, bu akışın diğer ucu tarafından bu bağlantı için benzersiz olarak gerçekten seçilen bir değer. Bu değer, akışın diğer ucunda akışın nearNonce
değeri olarak görüntülenir.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get farNonce():String
inBufferSeek | özellik |
inBufferSeek:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
Görüntülenen verinin akıllı arama (TRUE
) için önbelleğe alınıp alınmadığını (FALSE
) belirtir. Varsayılan değer FALSE değeridir.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Flash Media Server 3.5.3 ve Flash Player 10.1 akıllı aramayı desteklemek için birlikte çalışır. Akıllı arama sunucudan veri istemeden arama yapmak için geri ve ileri arabelleklerini kullanır. Standart arama arabelleğe alınan veriyi temizler ve sunucudan arama süresini temel alarak yeni veri göndermesini ister.
Belirli kare sayısı kadar geri ve ileri adım atmak için NetStream.step()
öğesini çağırın. Belirli kare sayısı kadar geri ve ileri arama yapmak için NetStream.seek()
öğesini çağırın.
Akıllı arama sunucu yükünü azaltır ve arama performansını artırır. inBufferSeek=true
ayarını yapın ve oluşturmak için step()
ve seek()
öğelerini çağırın.
- İstemci tarafı DVR işlevselliği. Yeni videonun iletimi için sunucuya gitmek yerine istemci tarafı arabelleği dahilinde arama yapın.
- Hile modları. Kareler arasında adım atan, ileri saran, geri saran ve yavaş çekimde ilerleyen oynatıcılar oluşturun.
inBufferSeek=true
ve NetStream.seek()
öğesine yapılan bir çağrı başarılı olduğunda, NetStatusEvent info.description
özelliği "client-inBufferSeek"
dizesini içerir.
NetStream.step()
öğesine yapılan bir çağrı başarılı olduğunda, the NetStatusEvent info.code
özelliği "NetStream.Step.Notify"
dizesini içerir.
Uygulama
public function get inBufferSeek():Boolean
public function set inBufferSeek(value:Boolean):void
İlgili API Öğeleri
info | özellik |
info:NetStreamInfo
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Özellikleri, servis kalitesi hakkındaki istatistikleri içeren bir NetStreamInfo nesnesi döndürür. Nesne, geçerli durumun anlık görüntüsüdür.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get info():NetStreamInfo
İlgili API Öğeleri
liveDelay | özellik |
liveDelay:Number
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Abone olan akışın canlı (arabelleğe alınmamış) modda arabelleğe alınan verilerinin saniye sayısı. Bu özellik geçerli ağ iletimindeki gecikmeyi (gecikme süresi) belirtir.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Bu özellik esas olarak Flash Media Server gibi bir sunucuyla kullanılmak üzere tasarlanmıştır; daha fazla bilgi için sınıf açıklamasına bakın.
Akışın iletim kalitesini kabaca ölçmek ve bunu kullanıcıya iletmek için bu özelliğin değerini alabilirsiniz.
Uygulama
public function get liveDelay():Number
maxPauseBufferTime | özellik |
maxPauseBufferTime:Number
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Duraklama modunda mesajların saniye cinsinden ne kadar süre arabelleğe alınacağını belirtir. Bu özellik, duraklama modunda arabelleğe alma miktarını sınırlamak için kullanılır. NetStream.bufferLength
değeri bu sınıra ulaştığında arabelleğe alma işlemi durdurulur.
Bu değer ayarlanmazsa, varsayılan olarak sınır her duraklamada hangisi daha yüksekse 60 saniyeye veya NetStream.bufferTime
öğesinin değerine ayarlanır.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get maxPauseBufferTime():Number
public function set maxPauseBufferTime(value:Number):void
İlgili API Öğeleri
multicastAvailabilitySendToAll | özellik |
multicastAvailabilitySendToAll:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
RTMFP bağlantıları için, eşler arası çoklu yayın parçası kullanılabilirlik mesajlarının tüm eşlere mi yoksa yalnızca bir eşe mi gönderildiğini belirtir. TRUE değeri, mesajların, belirtilen aralığa göre tüm eşlere gönderildiğini belirtir. FALSE değeri, mesajların, belirtilen aralığa göre yalnızca bir eşe gönderildiğini belirtir. Aralık, multicastAvailabilityUpdatePeriod
özelliği tarafından belirlenir.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get multicastAvailabilitySendToAll():Boolean
public function set multicastAvailabilitySendToAll(value:Boolean):void
İlgili API Öğeleri
multicastAvailabilityUpdatePeriod | özellik |
multicastAvailabilityUpdatePeriod:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
RTMFP bağlantıları için, eşlere gönderilen ve eşleri, yerel düğümde yeni eşler arası çoklu yayın medyası parçalarının kullanılabilir olduğu konusunda bilgilendiren mesajlar arasındaki saniye cinsinden aralığı belirtir. Büyük değerler, toplu iş verimliliğini artırıp denetim ek yükünü azaltabilir ancak parçalar pencere dışına çıkmadan önce parçaları almak için mevcut olan süreyi azaltarak alma ucunda kaliteyi düşürebilir. Düşük değerler gecikmeyi azaltabilir ve kaliteyi artırabilir ancak denetim ek yükünü artırır.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get multicastAvailabilityUpdatePeriod():Number
public function set multicastAvailabilityUpdatePeriod(value:Number):void
İlgili API Öğeleri
multicastFetchPeriod | özellik |
multicastFetchPeriod:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
RTMFP bağlantıları için, yerel düğümün, eşler arası çoklu yayın medya parçasının kullanılabilir olduğunu öğrendiği an ile söz konusu çoklu yayın medya parçasını eşten getirmeyi denediği an arasındaki saniye cinsinden süreyi belirtir. Bu değer, eşten getirme denenmeden önce, parçanın proaktif olarak yerel düğüme götürülmesi için bir fırsat sunar. Birden çok eşin, parçanın kullanılabilir olduğunu duyurmasına olanak sağlar, böylece getirme yükü birden çok eş arasına yayılabilir.
Büyük değerler, eşler arası karmadaki yük dengelemesini ve adaleti artırabilir ancak kullanılabilir multicastWindowDuration
öğesini azaltır ve gecikmeyi artırır. Küçük değerler, getirme gerektiğinde gecikmeyi azaltabilir ancak yinelenen veri alımını artırabilir ve eşler arası karma yük dengesini azaltır.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get multicastFetchPeriod():Number
public function set multicastFetchPeriod(value:Number):void
İlgili API Öğeleri
multicastInfo | özellik |
multicastInfo:NetStreamMulticastInfo
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
RTMFP bağlantıları için, özellikleri hizmet kalitesiyle ilgili istatistikleri içeren bir NetStreamMulticastInfo nesnesini döndürür. Nesne, geçerli durumun anlık görüntüsüdür.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get multicastInfo():NetStreamMulticastInfo
İlgili API Öğeleri
multicastPushNeighborLimit | özellik |
multicastPushNeighborLimit:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
RTMFP bağlantıları için, proaktif olarak çoklu yayın medyasının götürüleceği maksimum eş sayısını belirtir.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get multicastPushNeighborLimit():Number
public function set multicastPushNeighborLimit(value:Number):void
multicastRelayMarginDuration | özellik |
multicastRelayMarginDuration:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
RTMFP bağlantıları için, eşler arası çoklu yayın verilerini, isteyen eşlere belirtilen bir sürenin ötesinde göndermek için, söz konusu eşler arası çoklu yayın verilerinin kullanılabilir olarak kalacağı saniye cinsinden süreyi belirtir. Süre, multicastWindowDuration
özelliği tarafından belirtilir.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get multicastRelayMarginDuration():Number
public function set multicastRelayMarginDuration(value:Number):void
İlgili API Öğeleri
multicastWindowDuration | özellik |
multicastWindowDuration:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
RTMFP bağlantıları için, eşler arası yayın yeniden birleştirme penceresinin saniye cinsinden süresini belirtir. Küçük değerler gecikmeyi azaltabilir ancak tüm parçaların alınması için yeterince zaman sağlamayarak kaliteyi düşürebilir. Buna karşılık, büyük değerler, tüm parçaların alınması için daha fazla süre sağlayarak kaliteyi ve aynı şekilde gecikmeyi de artırabilir.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get multicastWindowDuration():Number
public function set multicastWindowDuration(value:Number):void
İlgili API Öğeleri
nearNonce | özellik |
nearNonce:String
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
RTMFP ve RTMPE bağlantıları için, akışın bu ucu tarafından, bu bağlantı için benzersiz olarak gerçekten seçilen bir değer. Bu değer, akışın diğer ucunda akışın farNonce
değeri olarak görüntülenir.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get nearNonce():String
objectEncoding | özellik |
objectEncoding:uint
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bu NetStream nesnesi için nesne kodlaması (AMF sürümü). NetStream nesnesi, objectEncoding
özelliğini ilişkili NetConnection nesnesinden miras alır. ActionScript 3.0 SWF dosyanızın Flash Player 9'dan önce piyasaya sürülmüş sunucularla iletişime geçmesi gerekiyorsa bu özelliği anlamanız önemlidir. Daha fazla bilgi için NetConnection sınıfındaki objectEncoding
özelliğine bakın.
Bu özelliğin değeri akışın yerel veya uzak olmasına bağlıdır. null
değerinin NetConnection.connect()
yöntemine iletildiği yerel akışlar NetConnection.defaultObjectEncoding
değerini döndürür. Bir sunucuya bağlandığınız uzak akışlar, sunucuya olan bağlantının nesne kodlamasını döndürür.
Bağlı değilken bu özelliği okumak veya bu özelliği değiştirmek isterseniz, uygulama bir istisna atar.
Uygulama
public function get objectEncoding():uint
İlgili API Öğeleri
peerStreams | özellik |
soundTransform | özellik |
soundTransform:flash.media:SoundTransform
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Bu NetStream nesnesindeki sesi kontrol eder. Daha fazla bilgi için SoundTransform sınıfına bakın.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get soundTransform():flash.media:SoundTransform
public function set soundTransform(value:flash.media:SoundTransform):void
İlgili API Öğeleri
time | özellik |
time:Number
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Oynatma kafasının konumu, saniye cinsinden.
Flash Media Server Bir abonelik akışında, akışın oynatılmakta olduğu saniye sayısı. Bir yayın akışında, akışın yayın yaptığı saniye sayısı. Bu sayı ondalık sistemde binler basamağına göre doğrudur; akışın oynatılmakta olduğu milisaniye sayısını bulmak için 1000 ile çarpın.
Bir abonelik akışında, sunucu veri göndermeyi durdurursa, ancak akış açık kalırsa time
özelliğinin değerindeki artış durur. Sunucu tekrar veri göndermeye başladığında, değer durdurulduğu yerden (sunucu veri göndermeyi durdurduğunda) ilerlemeye devam eder.
Akış bir oynatma listesi öğesinden başka bir oynatma listesi öğesine geçtiğinde time
değeri artmaya devam eder. reset
öğesi 1
değerine veya true
değerine ayarlıyken NetStream.play()
öğesi ya da NetStream.close()
öğesi çağrıldığında bu özellik 0 değerine ayarlanır.
Uygulama
public function get time():Number
İlgili API Öğeleri
useHardwareDecoder | özellik |
useHardwareDecoder:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 11, AIR 3 |
Akışta donanım hızlandırmalı kod çözmenin kullanılıp kullanılmayacağını belirtir.
Not: Bu özelliği video oynatılırken ayarlayamazsınız. NetStream.play()
öğesini çağırmadan önce bu özelliği ayarlamalısınız.
Varsayılan değer şudur true.
Uygulama
public function get useHardwareDecoder():Boolean
public function set useHardwareDecoder(value:Boolean):void
İlgili API Öğeleri
useJitterBuffer | özellik |
useJitterBuffer:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 11.3, AIR 3.3 |
Canlı arabelleksiz akış için gecikmeyi en aza indirir (bufferTime = 0). Klasik push tabanlı yakalama mekanizması yerine, sesli mesajlar uyarlanır şekilde gecikme arabelleğine yerleştirilir. Hoparlör aygıtı için ses gerekli olduğunda, mesajlar gecikme arabelleğinden belirir, kodları çözülür ve yeniden oynatılır. Speex ve G.711, bu ayarlardan bağımsız olarak (useJitterBuffer Speex/G.711 için true döndürür) bu pull tabanlı yaklaşımı kullanır. Arabelleksiz modda etkinleştirildiklerinde, tüm codec'ler gecikme arabelleğini kullanır; örneğin Speex, G.711, Nellymoser, MP3 ve AAC. Bu özelliğin arabellekli modda hiçbir etkisi yoktur (bufferTime > 0) ve bu nedenle useJitterBuffer false değerini döndürür.
Uygulama
public function get useJitterBuffer():Boolean
public function set useJitterBuffer(value:Boolean):void
videoReliable | özellik |
videoReliable:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
RTMFP bağlantıları için, videonun tam güvenilirlikle gönderilip gönderilmediğini belirtir. TRUE olduğunda, bu NetStream üzerinden iletilen tüm videolar tamamen güvenilirdir. FALSE olduğunda, iletilen video tamamen güvenilir değildir, bunun yerine sınırlı süre boyunca yeniden iletilir ve sonra bırakılır. Video kalitesinden ödün vererek gecikmeyi azaltmak için FALSE değerini kullanabilirsiniz.
Kısmi güvenilirliği desteklemeyen bir ağ protokolünde bu özelliği FALSE olarak ayarlamayı denerseniz, denemeler yok sayılır ve özellik TRUE değerine ayarlanır.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get videoReliable():Boolean
public function set videoReliable(value:Boolean):void
İlgili API Öğeleri
videoSampleAccess | özellik |
videoSampleAccess:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
RTMFP bağlantıları için, bu NetStream üzerindeki eşler arası abonelerin video akışını yakalamasına izin verilip verilmediğini belirtir. FALSE olduğunda, abone, video akışı gösterme izni hatalarını yakalamaya çalışır.
Not: Bu özellik, iOS için AIR 3.0'da H.264 video için desteklenmez.
Uygulama
public function get videoSampleAccess():Boolean
public function set videoSampleAccess(value:Boolean):void
İlgili API Öğeleri
videoStreamSettings | özellik |
videoStreamSettings:VideoStreamSettings
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 11/ConnectAddin, AIR 3 |
Akış sıkıştırma özelliklerini belirtir. Daha fazla bilgi için bkz. VideoStreamSettings
. Sisteminize bağlı kamera olmadığında null döndürülür.
Uygulama
public function get videoStreamSettings():VideoStreamSettings
public function set videoStreamSettings(value:VideoStreamSettings):void
İlgili API Öğeleri
NetStream | () | Yapıcı |
public function NetStream(connection:NetConnection, peerID:String = "connectToFMS")
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir NetConnection nesnesi üzerinden ortam dosyalarını oynatmak ve veri göndermek için kullanabileceğiniz bir akış oluşturur.
Bir NetStream nesnesinin netStatus
olayının kullanılmaması geçersiz olarak kabul edilir. Hataları önlemek için, NetStream nesnesini oluşturduktan sonra ve buna ait play()
yöntemini çağırmadan önce netStatus
için bir dinleyici kaydedin.
connection:NetConnection — Bir NetConnection nesnesi.
| |
peerID:String (default = "connectToFMS ") — Bu isteğe bağlı parametre, Flash Player 10 ve sonraki sürümlerinde, RTMFP bağlantılarıyla birlikte kullanım için mevcuttur. (NetConnection.protocol özelliğinin değeri "rtmfp" olmazsa, bu parametre yok sayılır. Aşağıdaki değerlerden birini kullanın:
Çoğu durumda, bir Bu parametreyi yapıcı deyiminize ekler ancak bir |
Atar
ArgumentError — NetConnection örneği bağlanmaz.
|
İlgili API Öğeleri
DIRECT_CONNECTIONS
farID
flash.media.Video.attachCamera()
flash.net.GroupSpecifier
flash.net.GroupSpecifier.groupspecWithAuthorizations()
flash.net.GroupSpecifier.groupspecWithoutAuthorizations()
flash.net.GroupSpecifier.multicastEnabled
flash.net.NetConnection
flash.net.NetConnection.nearID
flash.net.NetConnection.protocol
flash.net.NetGroup
flash.events.NetStatusEvent.info.code="NetStream.Connect.Rejected"
flash.events.NetStatusEvent.info.code="NetStream.Connect.Success"
Örnek ( Bu örnek nasıl kullanılır? )
videoURL
değişkenine atanmış bir videoyu aşamalı olarak indirmek ve görüntülemek için bir bağlantı gösterir:
var my_video:Video = new Video(); addChild(my_video); var my_nc:NetConnection = new NetConnection(); my_nc.connect(null); var my_ns:NetStream = new NetStream(my_nc); my_video.attachNetStream(my_ns); my_ns.play(videoURL);
connect()
komutunda belirtilen uzak bir Flash Media Server örneğinde bir video (videoURL
değişkenine atanmış) görüntüler:
var my_video:Video = new Video(); addChild(my_video); var my_nc:NetConnection = new NetConnection(); my_nc.connect("rtmp://www.yourfmsserver.com/someappname"); var my_ns:NetStream = new NetStream(my_nc, NetStream.CONNECT_TO_FMS); my_video.attachNetStream(my_ns); my_ns.play(videoURL);
appendBytes | () | yöntem |
public function appendBytes(bytes:ByteArray):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
Oynatmak için NetStream öğesine bir ByteArray iletir. Bu yöntemi bir NetStream öğesinde "Veri Oluşturma Modu"nda çağırın. Bir NetStream öğesini Veri Oluşturma Moduna yerleştirmek için, null
öğesine bağlı olan bir NetConnection öğesinde oluşturulan bir NetStream.play(null)
öğesini çağırın. appendBytes()
öğesini Veri Oluşturma Modunda olmayan bir NetStream üzerinden çağırmak bir hatadır ve bir istisnaya neden olur.
Not: Bu yöntem, iOS için AIR 3.0'da H.264 için desteklenmez.
Bayt ayrıştırıcısı üst bilgiye sahip bir FLV dosyasını anlar. Üstbilgi ayrıştırıldıktan sonra, appendBytes()
öğesi tüm gelecek çağrıların aynı gerçek veya sanal dosyanın devamı olacağını varsayar. appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN)
çağrılmadığı sürece başka bir üstbilgi beklenmez.
Bir NetStream nesnesinin iki arabelleği vardır: appendBytes()
öğesinden NetStream'e FIFO ve oynatma arabelleği. FIFO, kısmi FLV etiketi yeniden birleştirme arabelleğidir ve bir tamamlanmamış FLV etiketinden fazlasını içermez. NetStream.seek()
öğesine yapılan çağrılar her iki arabelleği de boşaltır. seek()
öğesine yapılan bir çağrıdan sonra, zaman ölçeğini bir sonraki eklenen mesajın zaman damgasında başlamak üzere sıfırlamak için appendBytesAction()
öğesini çağırın.
appendBytes()
öğesine yapılan her çağrı, FLV etiketi tamamlanana kadar FIFO'ya bayt ekler. FLV etiketi tamamlandığında, oynatma arabelleğine taşınır. appendBytes()
öğesine yapılan çağrı, birden fazla FLV etiketi yazabilir. İlk baytlar mevcut bir FLV etiketini (oynatma arabelleğine taşınan) tamamlar. Tamamlanan FLV etiketleri oynatma arabelleğine taşınır. Tam bir FLV etiketi oluşturmayan kalan baytlar, FIFO'ya gider. FIFO'daki baytlar RESET_SEEK
veya RESET_BEGIN
argümanıyla birlikte ya appendBytes()
öğesi çağrılarak tamamlanmıştır ya da appendBytesAction()
öğesine yapılan bir çağrıyla atılmıştır.
Not: Bayt ayrıştırıcı, appendBytes()
öğesine sonradan bir çağrı yapılana kadar, appendBytes()
öğesine yapılan bir çağrının kodunu tamamen çözemeyebilir.
Parametreler
bytes:ByteArray |
İlgili API Öğeleri
appendBytesAction | () | yöntem |
public function appendBytesAction(netStreamAppendBytesAction:String):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
Zaman ölçeğinde bir kesintiyi gösterir, FIFO'yu atar ve bayt ayrıştırıcıya, dosya üst bilgisini veya bir FLV etiketinin başlangıcını beklemesini söyler.
Not: Bu yöntem, iOS için AIR 3.0'da H.264 için desteklenmez.
NetStream.seek()
öğesine yapılan çağrılar, NetStream arabelleklerini boşaltır. Bayt ayrıştırıcı, siz appendBytesAction()
öğesini çağırıp RESET_BEGIN
veya RESET_SEEK
argümanını iletene kadar atma modunda kalır. Bir aramadan sonra appendBytesAction()
öğesini çağırmak için, "NetStream.Seek.Notify"
olayını yakalayın. Yeni bir dosya üstbilgisi çalma listelerini ve aramayı NetStream.seek()
öğesini çağırmadan destekleyebilir.
Bu yöntemi ayrıca, onSeekPoint()
) geri çağırma için bayt sayacını sıfırlamak üzere çağırabilirsiniz.
Parametreler
netStreamAppendBytesAction:String |
İlgili API Öğeleri
attach | () | yöntem |
public function attach(connection:NetConnection):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
Yeni bir NetConnection nesnesine bir akış ekler. Bir bağlantı bırakılıp yeniden bağlandığında bir NetStream nesnesini yeni bir NetConnection nesnesine eklemek için yöntemi çağırın. Flash Player ve AIR bağlantı kaybolduğunda akışa oynatma noktasından devam eder. Bu yöntemi ayrıca yük dengelemesi uygulamak için de kullanabilirsiniz.
Bu yöntem Flash Media Server'ın 3.5.3 sürümü veya daha sonrasını gerektirir.
stream reconnection öğesini uygulamak için bu yöntemi kullanın, bkz. Flash Media Server 3.5.3 belgeleri.
yük dengelemesi uygulamak amacıyla bu yöntemi kullanmak için, aşağıdakileri yapın:
- Başka bir sunucuda NetConnection nesnesine, bağlı bir akış ekleyin.
- Akış yeni bağlantıya başarıyla eklendikten sonra, veri sızıntılarını önlemek için, önceki bağlantıda
NetConnection.close()
öğesini çağırın. NetStream.play2()
öğesini çağırın veNetStreamPlayOptions.transition
değerini RESUME olarak ayarlayın. NetStreamPlayOptions özelliklerinin geri kalanını, akışı başlatmak için başlangıçtaNetStream.play()
veyaNetStream.play2()
öğesini çağırırken kullandığınız aynı değerlere ayarlayın.
Parametreler
connection:NetConnection |
İlgili API Öğeleri
attachAudio | () | yöntem |
public function attachAudio(microphone:Microphone):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Microphone nesnesinden NetStream nesnesine kaynak olarak verilen ses akışını belirtir. Bu yöntem yalnızca belirtilen akışın yayıncısı tarafından kullanılabilir.
Sunucuya canlı ses göndermek için bu yöntemi Flash Media Server ile kullanın. Bu yöntemi, publish()
yöntemini çağırdıktan önce veya sonra çağırın.
Microphone.rate
özelliğini, ses yakalama cihazının hızıyla eşleşecek şekilde ayarlayın. Sessizlik düzeyi eşiğini ayarlamak için, setSilenceLevel()
yöntemini çağırın. Ses akışının ses özelliklerini (ses yüksekliği ve kaydırma) kontrol etmek için, Microphone.soundTransform
özelliğini kullanın.
var nc:NetConnection = new NetConnection(); nc.connect("rtmp://server.domain.com/app"); var ns:NetStream = new NetStream(nc); var live_mic:Microphone = Microphone.get(); live_mic.rate = 8; live_mic.setSilenceLevel(20,200); var soundTrans:SoundTransform = new SoundTransform(); soundTrans.volume = 6; live_mic.soundTransform = soundTrans; ns.attachAudio(live_mic); ns.publish("mic_stream","live")
Sesi duymak için NetStream.play()
yöntemini çağırın ve sesi görüntüleme listesinde bir nesneye yönlendirmek için DisplayObjectContainer.addChild()
öğesini çağırın.
Parametreler
microphone:Microphone — İletilecek olan ses akışının kaynağı.
|
İlgili API Öğeleri
attachCamera | () | yöntem |
public function attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Belirtilen kaynaktan görüntü yakalamayı başlatır veya theCamera
null
olarak ayarlıysa durdurur. Bu yöntem yalnızca belirtilen akışın yayıncısı tarafından kullanılabilir.
Bu yöntem Flash Media Server ile kullanılmak üzere tasarlanmıştır; daha fazla bilgi için sınıf açıklamasına bakın.
Video kaynağını ekledikten sonra iletime başlamak için NetStream.publish()
öğesini çağırmalısınız. Videoyu görüntülemek isteyen aboneler, videoyu sahne alanında görüntülemek için NetStream.play()
ve Video.attachCamera()
yöntemlerini çağırmalıdır.
Video akışına belirtilen sayıda milisaniye süren bir artbilgi ekleyen bir pozitif sayı sağlayarak tek bir anlık görüntü (bir 0 değeri sağlayarak) veya bir anlık görüntü serisi (efektli, zaman atlamalı metrajda) göndermek için, snapshotMilliseconds
öğesini kullanabilirsiniz. Artbilgi, video mesajının görüntülenme zamanını uzatır. snapshotMilliseconds
için pozitif bir değerli attachCamera()
öğesini art arda çağırdığınızda, değişen anlık görüntülerin ve artbilgilerin sırası zaman atlamalı metraj oluşturur. Örneğin, günde bir kare yakalıyor ve bunu bir video dosyasına ekliyorsanız. Bir abone dosyayı oynattığında, her kare belirtilen milisaniye kadar ekranda kalır ve ardından sonraki kare görüntülenir.
snapshotMilliseconds
parametresinin amacı Camera.setMode()
ile ayarlayabildiğiniz fps
parametresinden farklıdır. snapshotMilliseconds
öğesini belirtirken, kaydedilen kareler arasında ne kadar süre geçtiğini kontrol edebilirsiniz. Camera.setMode()
öğesini kullanarak fps
öğesini belirtirken, kayıt ve oynatma sırasında ne kadar süre geçtiğini kontrol edersiniz.
Örneğin toplamı 100 olmak üzere 5 saniyede bir anlık görüntü almak istediğinizi düşünün. Bunu iki şekilde yapabilirsiniz:
NetStream.attachCamera(myCamera, 500)
komutunu 5 dakikada bir olmak üzere 100 kez verebilirsiniz. Kaydın tamamlanması 500 dakika sürer ancak ortaya çıkan dosya 50 saniyede oynatılacaktır (karelerin arasında 500 milisaniye olacak şekilde 100 kare).- 1/300 (300 saniyede bir veya 5 dakikada bir)
fps
değerine sahip birCamera.setMode()
komutu ve ardından birNetStream.attachCamera(source)
komutu verebilirsiniz. Böylece kamera art arda 500 dakika boyunca görüntü yakalayabilir. Ortaya çıkan dosya 500 dakika boyunca oynatılacaktır. Bu süre dosyanın kaydedilmesi sırasında geçen süreyle aynıdır ve her kare 5 dakika boyunca görüntülenir.
Her iki teknik de aynı 500 kareyi yakalar ve her iki yaklaşım da faydalıdır. Kullanılacak olan yaklaşım esas olarak oynatma gereksinimlerinize bağlıdır. Örneğin, ikinci durumda sesi tüm süre boyunca kaydedebilirsiniz. Ayrıca, her iki dosya da yaklaşık olarak aynı boyutta olacaktır.
Parametreler
theCamera:Camera — Video iletiminin kaynağı. Geçerli değerler Camera nesnesi (video yakalamayı başlatır) null şeklindedir. null değerini iletirseniz, uygulama video yakalamayı durdurur ve ek olarak gönderdiğiniz tüm parametreler yok sayılır.
| |
snapshotMilliseconds:int (default = -1 ) — Video akışının sürekli mi, tek bir kare mi yoksa zaman atlamalı fotoğraf oluşturmak için kullanılan tek kareler şeklinde mi olduğunu belirtir.
|
close | () | yöntem |
public function close():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Akıştaki tüm verileri oynatmayı durdurur, time
özelliğini 0'a ayarlar ve akışın tekrar kullanılabilir olmasını sağlar. Bu yöntem ayrıca, HTTP üzerinden indirilen video dosyasının yerel kopyasını siler. Uygulama oluşturduğu dosyanın yerel kopyasını silse de, bir kopya önbellek dizininde kalmaya devam eder. Video dosyasının önbelleğe alınmasını veya yerel olarak depolanmasını tamamen önlemeniz gerekiyorsa Flash Media Server'ı kullanın.
Flash Media Server'ı kullanırken, bir yayın akışından NetStream.play()
öğesini veya abonelik akışından NetStream.publish()
öğesini çağırdığınızda bu yöntem örtük bir şekilde çağrılır. Lütfen dikkat:
-
Bir yayın akışından
close()
öğesi çağrılırsa akış, yayınlamayı durdurur ve yayıncı artık akışı başka bir amaç için kullanabilir. Akış, yayınlamayı durdurduğu için aboneler artık, akış üzerinde yayınlanmış olan hiçbir öğeyi almaz. -
Bir abonelik akışından
close()
öğesi çağrılırsa akış, abone için oynatmayı durdurur ve abone artık akışı başka bir amaç için kullanabilir. Diğer aboneler etkilenmez. -
Akışı kapatmadan veya
flash.net.NetStream.play(false)
öğesini kullanarak akışı değiştirmeden bir abonelik akışının oynatılmasını durdurabilirsiniz.
İlgili API Öğeleri
dispose | () | yöntem |
public function dispose():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 11, AIR 3.0 |
NetStream nesnesi tarafından tutulan tüm kaynakları bırakır.
dispose()
yöntemi, close
yöntemiyle benzerdir. İki yöntem arasındaki temel fark, dispose()
öğesinin geçerli video karesini görüntülemek için kullanılan belleği bırakmasıdır. Bu kare şu anda ekranda görüntüleniyorsa ekran boş olur. close()
yöntemi, söz konusu belleği bırakmadığından ekranı boş hale getirmez.
onPeerConnect | () | yöntem |
public function onPeerConnect(subscriber:NetStream):Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Bir eş yayın akışı, bir eş abonelik akışıyla eşleştiğinde çağrılır. Abone, yayıncıya bağlanmadan önce, eşler arası yayına yönelik ActionScript kodu sorunsuz erişim denetimine izin vermek için bu yöntemi çağırın. Şu kod, bu yöntem için bir geri çağırma işlevinin nasıl oluşturulacağını gösteren bir örnek gösterir:
var c:Object = new Object; c.onPeerConnect = function(subscriber:NetStream):Boolean { if (accept) return true; else return false; }; m_netStream.client = c;
Eş-yayıncı bu yöntemi uygulamazsa, tüm eşlerin yayınlanan içeriği oynatmasına izin verilir.
Parametreler
subscriber:NetStream |
Boolean |
pause | () | yöntem |
public function pause():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir video akışını oynatmayı duraklatır. Video önceden duraklatılmışsa bu yöntemin çağrılması herhangi bir işlem gerçekleştirmez. Videoyu duraklattıktan sonra oynatmaya devam etmek için resume()
öğesini çağırın. Duraklatma ve oynatma arasında geçiş yapmak için (önce videoyu duraklatma, ardından devam ettirme) togglePause()
öğesini çağırın.
Flash Player 9.0.115.0 sürümünden sonraki sürümlerde, NetStream.pause()
yöntemi çağrıldığında Flash Player arabelleği temizlemez. Bu davranışa "akıllı duraklatma" denir. Flash Player 9.0.115.0 sürümünden önceki sürümlerde Flash Player, oynatmaya devam etmeden önce arabelleğin dolmasını bekliyordu ve bu da sıklıkla gecikmelere yol açıyordu.
Not: Geriye doğru uyumluluk için, sunucu arabelleği temizlemese bile "NetStream.Buffer.Flush"
olayı (bkz. NetStatusEvent.info
özelliği) yine de başlatılır.
Tek bir duraklatma için, NetStream.bufferLength
özelliğinin 60 saniye veya NetStream.bufferTime
öğesinin iki katı kadar sınırı vardır (hangi değer daha yüksekse). Örneğin bufferTime
20 saniyeyse, Flash Player, NetStream.bufferLength
20*2 (40) veya 60 değerlerinden yüksek olan değer olana kadar arabelleğe alır. Bu durumda bufferLength
60 olana kadar arabelleğe alır. bufferTime
40 saniyeyse, Flash Player, bufferLength
40*2 (80) veya 60 değerlerinden yüksek olan değer olana kadar arabelleğe alır. Bu durumda bufferLength
80 saniye olana kadar arabelleğe alır.
bufferLength
özelliğinin ayrıca mutlak bir sınırı vardır. pause()
öğesine yapılan herhangi bir çağrı bufferLength
öğesinin 600 saniyeden veya bufferTime
* 2 değerinden (hangisi daha yüksekse) daha fazla artmasına yol açıyorsa, Flash Player arabelleği temizler ve bufferLength
öğesini 0 olarak sıfırlar. Örneğin bufferTime
120 saniyeyse, bufferLength
öğesinin 600 saniyeye ulaşması durumunda; bufferTime
öğesinin 360 saniye olması durumunda, bufferLength
öğesinin 720 saniyeye ulaşması durumunda Flash Player arabelleği temizler.
İpucu: Örneğin, izleyiciler bir reklamı izlerken verileri arabelleğe almak için koddaki NetStream.pause()
öğesini kullanabilirsiniz ve ardından ana video başladığında kaldığınız yerden devam edebilirsiniz.
İlgili API Öğeleri
play | () | yöntem |
public function play(... arguments):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Yerel bir dizinden veya web sunucusundan bir ortam dosyasını oynatır; Flash Media Server'dan bir ortam dosyasını veya canlı bir akışı oynatır. Durum ve hata mesajlarını bildirmek için NetStatusEvent
nesnesini dağıtır.
Desteklenen codec'ler ve dosya biçimleri hakkında bilgi için bkz.:
- Flash Media Server belgeleri
- Yüksek çözünürlüklü H.264 video ve AAC ses için Flash Player desteğini keşfetme
- FLV/F4V açık belirtim belgeleri
Bir dosya veya canlı akışı oynatmak için iş akışı
- Videoyu gösterecek bir Video nesnesi oluşturun ve sahne alanına eklemek için
addChild()
yöntemini çağırın. Bir NetConnection nesnesi oluşturup
NetConnection.connect()
öğesini çağırın.Yerel dizinden veya web sunucusundan bir dosya oynatmak için, null değerini iletin.
Kaydedilen bir dosyayı veya canlı akışı Flash Media Server'dan oynatmak için, Flash Media Server uygulamasının URI'sini iletin.
netStatus
(NetStatusEvent.NET_STATUS
) olayı için dinlemek üzere NetConnection nesnesininaddEventListener()
yöntemini çağırın."NetConnection.Connect.Success"
öğesinde bir NetStream nesnesi oluşturun ve NetConnection nesnesini yapıcıya iletin.- Video nesnesinin
attachNetStream()
yöntemini çağırın ve NetStream nesnesini iletin. NetStream nesnesinin
play()
yöntemini çağırın.Canlı bir akışı oynatmak için,
NetStream.publish()
yöntemine iletilen akış adını iletin.Kaydedilen bir dosyayı oynatmak için, dosya adını iletin.
Not: En iyi uygulama olarak, Video nesnesini her zaman sahne alanına eklemeli, ardından NetStream öğesini söz konusu nesneye eklemeli ve NetStream nesnesinin play()
yöntemini çağırmalısınız.
Veri Oluşturma Modunu Etkinleştirme
"Veri Oluşturma Modu"nu etkinleştirmek için play(null)
öğesini çağırın. Bu moddayken NetStream öğesine veri iletmek için appendBytes()
yöntemini çağırın. Veri Oluşturma Modunu, bir Apache HTTP Sunucusundaki Adobe HTTP Dynamic Streaming Origin Module (Adobe HTTP Dinamik Akış Kaynağı Modülü) bölümünden HTTP üzerinden içerik akışı oluşturmak için kullanın. HTTP Dinamik Akış, istemcilerin bir dosyada istenen herhangi bir noktaya arama yapmalarına izin verir. Open Source Media Framework (Açık Kaynak Medya Çerçevesi) (OSMF), vod ve canlı akışlar için HTTP Dinamik Akışa izin verir. NetStream Veri Oluşturma Modunun nasıl kullanılacağıyla ilgili örnekler için, adresinden OSMF kaynağını indirin. HTTP Dinamik Akış ile ilgili daha fazla bilgi için, bkz. HTTP Dinamik Akış.
Bu yöntemi Flash Media Server olmadan kullanıyorsanız, dikkate alınması gereken güvenlik önlemleri vardır. Yerel güvenilir veya ağa sahip yerel sanal alandaki bir dosyası, uzak sanal alandan video yükleyebilir ve oynatabilir ancak URL ilke dosyası biçiminde açık bir izin olmadan uzak dosyanın verilerine erişemez. Ayrıca, SWF içeriğini barındıran HTML sayfasındaki object
ve embed
etiketlerinin allowNetworking
parametresini ayarlayarak Flash Player'daki bir SWF dosyasının bu yöntemi kullanmasını önleyebilirsiniz. Güvenlikle ilgili daha fazla bilgi için, bkz. Flash Player Geliştirici Merkezi Konusu: Güvenlik.
Parametreler
... arguments — Yerel bir dosya oynatma
Bir medya dosyasının konumu. Argüman bir Dize, bir Flash Media Server'dan bir dosya oynatma
Aşağıdaki tabloda açıklanan dosya biçimlerini oynatabilirsiniz. Dosya biçimine bağlı olarak sözdizimi değişiklik gösterir.
Veri Oluşturma Modunu Etkinleştirme
"Veri Oluşturma Modu"nu etkinleştirmek için, H.264 videolarına ilişkin olarak iOS için AIR 3.0'daki özel noktalar H.264 videoları için, video oynatmaya ilişkin iOS API'leri yalnızca dosya veya akışa yönelik bir URL kabul eder. H264 video verilerinin arabelleğini, kodları çözülmek üzere iletemezsiniz. Video kaynağınıza bağlı olarak, uygun argümanı
|
Olaylar
status: — Dijital haklar yönetimi (DRM) ile şifrelenen içerik oynatılmaya çalışıldığında gönderilir. code özelliğinin değeri "DRM.encryptedFLV" şeklindedir.
|
Atar
SecurityError — Güvenilmeyen yerel SWF dosyaları İnternet ile iletişim kuramıyor. Bu SWF dosyasını ağa sahip yerel veya güvenilir olarak yeniden sınıflandırarak bu kısıtlamayı ortadan kaldırabilirsiniz.
| |
ArgumentError — En az bir parametre belirtilmelidir.
| |
Error — NetStream Nesnesi geçersiz. Bu durumun nedeni başarısız bir NetConnection olabilir.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
play()
yöntemi bir dosya adı uzantısı belirtmelidir.
ns.play("mp4:samples/record1.f4v", 0, 100, true);
ns.play("livestream");
var MyVideo:Video = new Video(); addChild(MyVideo); var MyNC:NetConnection = new NetConnection(); MyNC.connect(null); var MyNS:NetStream = new NetStream(MyNC); MyVideo.attachNetStream(MyNS); MyNS.play("http://www.helpexamples.com/flash/video/clouds.flv"); //the clouds.flv video has metadata we're not using, so create //an error handler to ignore the message generated by the runtime //about the metadata MyNS.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); function asyncErrorHandler(event:AsyncErrorEvent):void { //ignore metadata error message }
play2 | () | yöntem |
public function play2(param:NetStreamPlayOptions):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Dosyalar ve çoklu bit hızları arasında kesintisiz geçiş yapar ve bir bağlantı bırakılıp yeniden bağlandığında NetStream öğesinin kaldığı yerden devam etmesine izin verir.
Bu yöntem gelişmiş bir NetStream.play()
sürümüdür. play()
yöntemi gibi, play2()
yöntemi de medya dosyasının oynatımını başlatır veya bir oynatma listesi oluşturmak için ortam dosyalarını sıraya alır. Flash Media Server ile kullanıldığında, sunucunun başka bir medya dosyasına geçmesini de isteyebilir. Geçiş istemci uygulamasında kesintisiz bir şekilde gerçekleşir. Aşağıdaki özellikler play2()
akış geçişini kullanır:
Dinamik akış
Dinamik akış (Flash Media Server 3.5 ve sonrasında desteklenir), çoklu bit hızında kodlanmış bir akışı kullanmanıza olanak verir. Görüntüleyen, ağ şartları değiştiğinde en iyi görüntüleme deneyimini sağlayacak bit hızını alır. Ağ koşullarını izlemek ve veriler temelinde akışlara geçiş yapmak için NetStreamInfo
sınıfını kullanın. Farklı özelliklere sahip istemciler için de akışlara geçiş yapabilirsiniz. Daha fazla bilgi için, adresindeki "Adobe Flash Media Server Geliştirici Kılavuzu"nda bulunan "Dinamik akış" bölümünü inceleyin.
Adobe, NetStream sınıfını genişleten, DynamicStream olarak adlandırılan özel bir ActionScript sınıfı oluşturmuştur. DynamicStream sınıfını, ağ koşullarını algılamak için kendi kodunuzu yazmak yerine bir uygulamada dinamik akış uygulamak için kullanabilirsiniz. Kendi dinamik akış kodunuzu yazmayı seçseniz bile, DynamicStream sınıfını bir başvuru uygulaması olarak kullanın. Sınıfı ve sınıf belgelerini adresindeki Flash Media Server araçları ve indirilebilir dosyaları sayfasından indirin.
Akışı yeniden bağlama
Akışı yeniden bağlama (Flash Media Server 3.5.3 ve sonrasında desteklenir), bağlantı kesildiğinde bile kullanıcıların kesintisiz medya deneyimi yaşamalarına olanak verir. Medya ActionScript mantığınız Flash Media Server'a yeniden bağlanırken oynatılabilmek için arabelleği kullanır. Yeniden bağlanmadan sonra, aynı NetStream nesnesini yeni NetConnection öğesiyle kullanmak için NetStream.attach()
öğesini çağırın. Bir akışı yeniden bağlamak için, NetStream.attach()
, NetStreamPlayTransitions.RESUME
ve NetStreamPlayTrasitions.APPEND_AND_WAIT
API'lerini kullanın. Daha fazla bilgi için bkz. Flash Media Server 3.5.3 belgeleri.
Parametreler
param:NetStreamPlayOptions |
İlgili API Öğeleri
preloadEmbeddedData | () | yöntem |
public function preloadEmbeddedData(param:NetStreamPlayOptions):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.5, Flash Lite 4 |
Yerel olarak saklanan bir medya dosyasından DRM meta verilerini ayıklar.
Çevrimdışı oynatma için gerekli DRM fişlerini indirme ve önbelleğe almada ilk adım olarak preloadEmbeddedMetaData()
öğesini kullanın. Bir medya dosyasında gömülü DRM meta verileri algılandığında, DRMContentData nesnesi, NetStream istemci onDRMContentData
işlevine iletilir. Bu DRMContentData nesnesi, içeriği oynatmak için gerekli fişi almak için gereken bilgiyi içerir. Fişi indirmek için DRMContentDataObject öğesini DRMManager loadVoucher()
yöntemine iletin.
DRM fişinin önceden yüklenmesine ilişkin adımlar şunları içerir:
-
Verilerin önceden yüklenmesi için yeni bir NetStream nesnesi oluşturma.
- NetStream
client
öğesininonDRMContentData
özelliğine bir geri çağrı işlevi atama. - Yeni bir NetStreamPlayOptions nesnesi oluşturma ve bu nesnenin
streamName
özelliğini yerel video dosyasının URL dizesine ayarlama. - NetStreamPlayOptions nesnesinde geçen
preloadEmbeddedMetadata()
yöntemini çağırma. onDRMContentData
geri çağrısına yanıt olarak DRMManager DRMContentData nesnesinde geçenloadVoucher()
yöntemini çağırın. DRMContentData nesnesininauthenticationMethod
özelliğiuserNameAndPassWord
değerine sahipse, fişi yüklemeden önce medya hakları sunucusunda kullanıcının kimlik denetimini yapın.- Ön yükleme için kullanılan NetStream nesnesini kapatın.
Not: Hem meta verilerini yüklemek hem de içeriği oynatmak için aynı NetStream nesnesini kullanırsanız, oynatma başlamadan önce ön yükleme işlemi tarafından oluşturulan onPlayStatus
çağrısını bekleyin.
İndirilen fişler yerel önbellekte saklanır. İçeriğin çevrimiçi oynatılması, aynı zamanda fişleri indirir ve önbelleğe alır. DRM korumalı bir içerik dosyası görüntülendiğinde, önbelleğe alınmış bir fiş yerel saklama alanından otomatik olarak getirilir. Fiş önbelleğini yönetmek için DRMManager öğesini kullanın.
Notlar: DRM meta verilerinin HTTP, HTTPS veya RTMP bağlantıları aracılığıyla önceden yüklenmesi desteklenmez. Yalnızca dosya sisteminde saklanan dosyalardan meta verileri önceden yükleyebilirsiniz.
Parametreler
param:NetStreamPlayOptions — İçerik dosyasının işlenmesi sırasında kullanılacak seçenekleri açıklayan bir NetStreamPlayOptions öğesi.
|
İlgili API Öğeleri
publish | () | yöntem |
public function publish(name:String = null, type:String = null):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Bir istemciden Flash Media Server'a akış halinde ses, video ve veri mesajları gönderir, isteğe bağlı olarak akışı iletim sırasında kaydeder. Bu yöntem, akışla ilgili bilgileri içeren bir NetStatusEvent nesnesini gönderir. NetStream.publish()
öğesini çağırmadan önce, uygulamanın başarıyla Flash Media Server'a başarıyla bağlandığını doğrulamak için "NetConnection.Connect.Success"
olayını yakalayın.
Yayınlama esnasında dosyaları FLV veya F4V biçiminde kaydedebilirsiniz. Bir dosyayı F4V biçiminde kaydederseniz, dosyayı başka bir uygulamada düzenlemek veya oynatmak için bir düzleştirici aracı kullanın. Aracı indirmek için bkz. www.adobe.com/go/fms_tools_tr.
Not:Bu yöntemi, bir akışı oynatmak için kullanmayın. Bir akışı oynatmak için NetStream.play()
yöntemini kullanın.
Bir akışı yayınlamak için iş akışı
- Bir NetConnection nesnesi oluşturup
NetConnection.connect()
öğesini çağırın. - NetStatusEvent olaylarını dinlemek için,
NetConnection.addEventListener()
öğesini çağırın. "NetConnection.Connect.Success"
olayında bir NetStream nesnesi oluşturun ve NetConnection nesnesini yapıcıya iletin.- Ses ve video yakalamak için,
NetStream.attachAudio()
yöntemini veNetStream.attachCamera()
yöntemini çağırın. - Bir akışı yayınlamak için
NetStream.publish()
yöntemini çağırın. Kullanıcıların daha sonra oynatabilmesi için verileri yayınlarken kaydedebilirsiniz.
Not:NetStream bir akışı yayınlayabilir veya oynatabilir, her ikisini birden yapamaz. Bir akışı yayınlamak ve oynatma işlemini sunucudan görüntülemek için, iki NetStream nesnesi oluşturun. Bir NetConnection nesnesi üzerinden birden fazla NetStream nesnesi gönderebilirsiniz.
Flash Media Server bir akışı kaydederken, bir dosya oluşturur. Sunucu varsayılan olarak, uygulama örnek adı NetConnection.connect()
öğesine iletilen bir dizin oluşturur ve dosyayı dizinde saklar. Örneğin aşağıdaki kod, "lectureseries" uygulamasının varsayılan örneğine bağlanır ve "lecture" adında bir akışı kaydeder. "lecture.flv" dosyası, applications/lectureseries/streams/_definst_ dizinine kaydedilir.
var nc:NetConnection = new NetConnection(); nc.connect("rtmp://fms.example.com/lectureseries"); nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); function netStatusHandler(event:NetStatusEvent):void { if (event.info.code == "NetConnection.Connect.Success") { var ns:NetStream = new NetStream(nc); ns.publish("lecture", "record"); } }
Aşağıdaki örnek aynı uygulamanın “monday” örneğine bağlanır. "lecture.flv" dosyası, /applications/lectureseries/streams/monday dizinine kaydedilir:
var nc:NetConnection = new NetConnection(); nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); nc.connect("rtmp://fms.example.com/lectureseries/monday"); function netStatusHandler(event:NetStatusEvent):void { if (event.info.code == "NetConnection.Connect.Success") { var ns:NetStream = new NetStream(nc); ns.publish("lecture", "record"); } }
Parametreler
name:String (default = null ) — Akışı tanımlayan bir dize. Bu akışa abone olan istemciler NetStream.play() öğesini çağırdığında bu adı iletir. Akış adından sonra "/" öğesini kullanmayın. Örneğin "bolero/" şeklinde bir akış adı kullanmayın.
Aşağıdaki tabloda açıklanan biçimlerde dosya kaydedebilirsiniz (MP3 biçimli dosyalar için
| |||||||||||||
type:String (default = null ) — Bir akışın nasıl yayınlanacağını belirten bir dize. Geçerli değerler "record ", "append ", "appendWithGap " ve "live " şeklindedir. Varsayılan değer "live " şeklindedir.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
Bu örneği çalıştırmak için, bilgisayarınıza bağlı bir kamera olması gerekir. Ayrıca, Kütüphaneye bir Button bileşeni ve bir Label bileşeni eklemeniz gerekir.
Uygulama yalnızca uygulama sunucuya başarıyla bağlandıktan sonra bir akış yayınlayan (ve onu Flash Media Server'a yollayan) bir düğmeye sahiptir. Uygulama, yalnızca akış başarıyla yayınlandıktan sonra akışı sunucudan oynatır. NetStatusEvent
öğesi, bu durumları belirleyen bir code
özelliğiyle bir info
nesnesi döndürür. netStatusHandler
işlevi bu olayları NetConnection ve NetStream sınıfları için işler.
package { import flash.display.Sprite; import flash.events.*; import flash.media.Video; import flash.media.Camera; import flash.net.NetConnection; import flash.net.NetStream; import fl.controls.Button; import fl.controls.Label; public class NetStream_publish extends Sprite { private var connectionURL:String = "rtmp://localhost/live/"; private var videoURL:String = "liveVideo"; private var nc:NetConnection; private var ns_publish:NetStream; private var ns_playback:NetStream; private var video_publish:Video; private var video_playback:Video; private var cam:Camera; private var b:Button; private var l:Label; public function NetStream_publish() { setUpUI(); nc = new NetConnection(); nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); // Add bandwidth detection handlers on the NetConnection Client to // prevent Reference Errors at runtime when using the "live" and "vod" applications. var clientObj:Object = new Object(); clientObj.onBWDone = onBWDone; clientObj.onBWCheck = onBWCheck; nc.client = clientObj; // Connect to the "live" application on Flash Media Server. nc.connect(connectionURL); } private function netStatusHandler(event:NetStatusEvent):void { trace(event.info.code + " | " + event.info.description); switch (event.info.code) { case "NetConnection.Connect.Success": // Enable the "Publish" button after the client connects to the server. b.enabled = true; break; case "NetStream.Publish.Start": playbackVideo(); break; } } private function publishVideo(event:MouseEvent):void{ // Disable the button so that you can only publish once. b.enabled = false; // Create a NetStream to send video to FMS. ns_publish = new NetStream(nc); ns_publish.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); // Publish (send) the video to FMS. cam = Camera.getCamera(); ns_publish.attachCamera(cam); ns_publish.publish(videoURL); } private function playbackVideo():void { // Create the Video object to show the video on the stage video_playback = new Video(cam.width, cam.height); video_playback.x = cam.width + 20; video_playback.y = 10; addChild(video_playback); // Create a NetStream to receive the video from FMS. ns_playback = new NetStream(nc); ns_playback.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); // Display the video that was published to FMS. video_playback.attachNetStream(ns_playback); ns_playback.play(videoURL); } private function setUpUI():void { b = new Button(); b.addEventListener(MouseEvent.CLICK, publishVideo); b.width = 150; b.label = "Publish video to server"; b.move(10, 150); b.enabled = false; l = new Label(); l.width = 150; l.text = "Playing back from server" l.move(190, 150); addChild(b); addChild(l); } // Handlers called by the Flash Media Server "live" and "vod" applications. public function onBWDone(... rest):Boolean { return true; } public function onBWCheck(... rest):Number { return 0; } } }
receiveAudio | () | yöntem |
public function receiveAudio(flag:Boolean):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gelen sesin akışta oynatılıp oynatılmayacağını belirtir. Bu yöntem yalnızca belirtilen akışa abone olan istemciler tarafından kullanılabilir. Akışın yayıncısı tarafından kullanılamaz. Bu yöntemi, NetStream.play()
yöntemini çağırdıktan önce veya sonra çağırın. Örneğin, kullanıcıların sesi kapatıp açmalarına izin vermek için bir düğmeye bu yöntemi ekleyin. Bu yöntemi yalnızca Flash Media Server'dan oynatılan tek yönlü akışlarda kullanın. Bu yöntem RTMFP çok yönlü akışlarda veya NetStream.appendBytes()
yöntemi kullanıldığında çalışmaz.
Parametreler
flag:Boolean — Gelen sesin akışta oynatılıp oynatılmayacağını belirtir (false ) değil veya (true ). Varsayılan değer true şeklindedir. Belirtilen akış yalnızca ses verilerini içeriyorsa, false değerini ilettiğinizde NetStream.time , artırma işlemini durdurur.
|
receiveVideo | () | yöntem |
public function receiveVideo(flag:Boolean):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gelen videonun akışta oynatılıp oynatılmayacağını belirtir. Bu yöntem yalnızca belirtilen akışa abone olan istemciler tarafından kullanılabilir. Akışın yayıncısı tarafından kullanılamaz. Bu yöntemi, NetStream.play()
yöntemini çağırdıktan önce veya sonra çağırın. Örneğin, kullanıcıların videoyu gösterip gizlemelerine izin vermek için bir düğmeye bu yöntemi ekleyin. Bu yöntemi yalnızca Flash Media Server'dan oynatılan tek yönlü akışlarda kullanın. Bu yöntem RTMFP çok yönlü akışlarda veya NetStream.appendBytes()
yöntemi kullanıldığında çalışmaz.
Parametreler
flag:Boolean — Gelen videonun bu akışta oynatılıp oynatılmayacağını belirtir (false ) değil veya (true ). Varsayılan değer true şeklindedir. Belirtilen akış yalnızca video verilerini içeriyorsa, false değerini ilettiğinizde NetStream.time , artırma işlemini durdurur.
|
receiveVideoFPS | () | yöntem |
public function receiveVideoFPS(FPS:Number):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gelen videoya yönelik kare hızını belirtir. Bu yöntem yalnızca belirtilen akışa abone olan istemciler tarafından kullanılabilir. Akışın yayıncısı tarafından kullanılamaz. Bu yöntemi, NetStream.play()
yöntemini çağırdıktan önce veya sonra çağırın. Örneğin, kullanıcıların video kare hızını ayarlamalarına olanak vermek için bu yöntemi çağırın. Geçerli kare hızını belirlemek için, NetStream.currentFPS
öğesini kullanın. Video almayı durdurmak için 0
değerini iletin.
Videonun kare hızını sınırlandırmak için FPS parametresine bir değer ilettiğinizde, Flash Media Server videonun bütünlüğünü korurken kare hızını azaltmaya çalışır. Her iki anahtar kare arasında, sunucu, istenen hızı yakalamak için gereken minimum sayıda kareyi gönderir. Lütfen I-karelerin (veya ara karelerin) art arda gönderilmesi gerektiğini, aksi halde videonun bozulduğunu aklınızda bulundurun. Bu nedenle, bir anahtar karenin ardından istenen sayıda kare hemen ve bitişik olarak gönderilir. Kareler eşit aralıklı olarak dağıtılmadığı için, hareket bölmelerle bölünen parçalar halinde düzgün görünür.
Bu yöntemi yalnızca Flash Media Server'dan oynatılan tek yönlü akışlarda kullanın. Bu yöntem RTMFP çok yönlü akışlarda veya NetStream.appendBytes()
yöntemi kullanıldığında çalışmaz.
Parametreler
FPS:Number — Gelen videonun oynatıldığı saniye başına kare hızını belirtir.
|
resetDRMVouchers | () | yöntem |
public static function resetDRMVouchers():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 11.8, Flash Lite 4 |
Bu, AIR uygulamalarında yerel olarak önbelleğe alınmış tüm dijital hak yönetimi (DRM) makbuz verilerini siler. Tarayıcı tabanlı uygulamalarda bu yalnızca 3322 hataları sırasında kullanılabilir ve Korumalı İçerik Oynatma Ayarları paneli gibi davranır.
Kullanıcının korumalı içeriğe erişebilmesi için, uygulama tüm gerekli fişleri ortam hakları sunucusundan yeniden indirmelidir. Bu işlevin çağrılması, DRMManager nesnesinin resetDRMVouchers()
işlevinin çağrılmasıyla eşdeğerdir.
Atar
IOError — Fiş verileri silinemez.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
NetStream.resetDRMVouchers();
resume | () | yöntem |
public function resume():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Duraklatılan bir video akışının oynatılmasını sürdürür. Video zaten oynatılıyorsa, bu yöntemin çağrılması herhangi bir işlem gerçekleştirmez.
İlgili API Öğeleri
seek | () | yöntem |
public function seek(offset:Number):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Belirtilen konuma en yakın anahtar kareyi (video sektöründe ayrıca I-karesi şeklinde de bilinir) arar. Anahtar kare akışın başlangıcından itibaren bir uzaklık üzerine yerleştirilir.
Video akışları genellikle anahtar kareler (veya I-kareler) ve P-kareler olmak üzere iki tür kareyle birlikte kodlanır. Bir anahtar kare bir görüntünün tamamını içerirken P-karesi, anahtar kareler arasında fazladan video bilgileri sağlayan bir ara karedir. Bir video akışı genellikle her 10-50 karede bir ana kareye sahiptir.
Flash Media Server çeşitli arama davranışlarına sahiptir: geliştirilmiş arama ve akıllı arama.
Geliştirilmiş arama
Geliştirilmiş arama varsayılan olarak etkindir. Geliştirilmiş aramayı Flash Media Server'da devre dışı bırakmak için, Application.xml
konfigürasyon dosyasındaki EnhancedSeek
öğesini false
değerine ayarlayın.
Geliştirilmiş arama etkinse, sunucu önceki ana kare ve araya giren herhangi bir P-frame'i temel alarak offset
öğesinde yeni bir ana kare oluşturur. Ancak, ana kareler oluşturmak sunucuda yüksek miktarda işleme yükü oluşturur ve oluşturulan ana karede deformasyon gerçekleşebilir. Video codec bileşeni On2 ise, arama noktasından önceki anahtar kare ve anahtar kare ve arama noktası arasındaki P-kareleri istemciye gönderilir.
Geliştirilmiş arama devre dışı ise, sunucu akışa en yakın ana kareden başlar. Örneğin, bir videonun 0 saniyede ve 10 saniyede anahtar kareleri olduğunu varsayın. 4 saniyeye yapılan bir arama oynatmanın 0 saniyedeki anahtar kareyi kullanarak 4 saniyede başlamasına neden olur. Video, 10. saniyedeki bir sonraki anahtar kareye gelene kadar donar. Daha iyi bir arama deneyimi kazanmak için, anahtar kare aralığını kısaltmalısınız. Normal arama modunda, videoyu ana kareler arasında bir noktada başlatamazsınız.
Akıllı arama
Akıllı aramayı etkinleştirmek için, NetStream.inBufferSeek
öğesini true
değerine ayarlayın.
Akıllı arama Flash Player'ın varolan bir geri arabellek ve ileri arabellek dahilinde arama yapmasına olanak verir. Akıllı arama devre dışı bırakıldığında, seek()
öğesi her çağırıldığında Flash Player arabelleği temizler ve veriyi sunucudan ister. Daha fazla bilgi için, bkz. NetStream.inBufferSeek
.
Veri Oluşturma Modunda Arama
Veri Oluşturma Modunda bir NetStream üzerinde seek()
öğesini çağırdığınızda, sonrasında appendBytes()
öğesine iletilen tüm baytlar, siz ayrıştırıcıyı sıfırlamak için appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN)
veya appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK)
) öğesini çağırana kadar atılır (arabelleğe alınmaz, kısmi mesaj FIFO'sunda birikmez veya arama noktaları için ayrıştırılmaz). Veri Oluşturma Modu ile ilgili bilgi için, bkz. NetStream.play()
.
Parametreler
offset:Number — Bir video dosyasına taşınacak saniye cinsinden yaklaşık süre değeri. Flash Media Server'la, <EnhancedSeek> öğesinin Application.xml konfigürasyon dosyasında true olarak ayarlanması durumunda (varsayılan olarak böyledir), sunucu offset öğesinde bir ana kare oluşturur.
|
İlgili API Öğeleri
send | () | yöntem |
public function send(handlerName:String, ... arguments):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Yayınlanan akışta tüm abone istemcilere bir mesaj gönderir. Bu yöntem yalnızca belirtilen akışın yayıncısı tarafından kullanılabilir. Bu yöntem yalnızca Flash Media Server ile kullanılabilir. Bu mesajı işlemek ve mesaja yanıt vermek için, NetStream
nesnesi üzerinde bir işleyici oluşturun (örneğin, ns.HandlerName
).
Flash Player veya AIR, yöntemleri veya bu yöntemlerin verilerini, nesne prototip değişkenlerini ya da adımlanabilir olmayan değişkenleri serileştirmez. Görüntüleme nesneleri için, Flash Player veya AIR, yolu serileştirir ancak verilerin hiçbirini serileştirmez.
Flash Media Server'da yayınlanmış canlı akışa veri ana kareleri eklemek için send()
yöntemini kullanabilirsiniz. Veri anahtar karesi, yayıncının canlı bir akışa eklediği bir mesajdır. Veri anahtar kareleri genellikle, veriler akış için kameradan ve mikrofondan yakalanmadan önce canlı bir akışa meta verileri eklemek için kullanılır. Canlı akış yayınlanırken yayıncı istediği zaman bir veri anahtar karesi ekleyebilir. Yayıncı sunucuya bağlı kaldığı sürece, veri anahtar karesi sunucunun belleğine kaydedilir.
Bir veri anahtar karesi eklenmeden önce canlı akışa abone olan istemciler, eklenir eklenmez anahtar kareyi alır. Veri anahtar karesi eklendikten sonra canlı akışa abone olan istemciler, anahtar kareyi abone olduklarında alır.
Flash Media Server'a gönderilmiş canlı akışa bir veri anahtar karesi eklemek için, işleyici adı olarak, iki ek argüman tarafından izlenen @setDataFrame
öğesini kullanın, örneğin:
var ns:NetStream = new NetStream(nc); ns.send("@setDataFrame", "onMetaData", metaData);
@setDataFrame
argümanı, Flash Media Server'a yerleşik olan özel bir işleyicidir. onMetaData
argümanı, onMetaData
olayını dinleyen ve meta verilerini alan istemci uygulamanızdaki bir geri çağırma işlevinin adıdır. Üçüncü öğe olan metaData
, meta verilerin değerlerini tanımlayan Object
veya Array
öğelerinin bir örneğidir.
Akıştan önceden ayarlanmış olan meta verisi anahtar karesini temizlemek için @clearDataFrame
öğesini kullanın:
ns.send("@clearDataFrame", "onMetaData");
Parametreler
handlerName:String — Gönderilecek mesaj; ayrıca mesajı alacak olan ActionScript işleyicisinin adı. İşleyici adı yalnızca bir düzey derinliğinde olabilir (yani, üst öğe/alt öğe biçiminde olamaz) ve akış nesnesiyle ilgilidir. İşleyici adı olarak, ayrılmış bir terim kullanmayın. Örneğin, bir işleyici adı olarak "close " öğesini kullanırsanız yöntem başarısız olur. Flash Media Server ile canlı bir akışa meta verilerinin bir ana karesini eklemek için @setDataFrame öğesini ve bir ana kareyi kaldırmak için @clearDataFrame öğesini kullanın.
| |
... arguments — Herhangi bir türde olabilen isteğe bağlı argümanlar. Serileştirilirler, bağlantı üzerinden gönderilirler ve alıcı işleyicisi bu öğeleri aynı sırada alır. Parametre dairesel bir nesneyse (örneğin dairesel olan bağlı bir liste), sıralandırıcı başvuruları doğru bir şekilde işler. Flash Media Server'da @setDataFrame ilk argümansa, ikinci argüman olarak onMetaData öğesini kullanın; üçüncü argüman için, özellikleri olarak meta verileri ayarlanmış olan bir Object veya Array örneği iletin. Önerilen özellik adlarının bir listesi için, bkz. Flash Media Server Geliştirici Kılavuzu. @clearDataFrame ilk argümanken, ikinci argüman olarak onMetaData öğesini kullanın ve üçüncü bir argüman kullanmayın.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
NetStream
nesnesi oluşturur. Biri, sunucuya canlı bir akış yayınlamak için kullanılırken diğeri de akışa abone olur.
package { import flash.display.Sprite; import flash.net.NetConnection; import flash.net.NetStream; import flash.events.NetStatusEvent; import flash.media.Video; import flash.utils.setTimeout; public class TestExample extends Sprite { var nc:NetConnection = new NetConnection(); var ns1:NetStream; var ns2:NetStream; var vid:Video = new Video(300,300); var obj:Object = new Object(); public function TestExample() { nc.objectEncoding = 0; nc.addEventListener("netStatus", onNCStatus); nc.connect("rtmp://localhost/FlashVideoApp"); addChild(vid); } function onNCStatus(event:NetStatusEvent):void { switch (event.info.code) { case "NetConnection.Connect.Success": trace("You've connected successfully"); ns1 = new NetStream(nc); ns2 = new NetStream(nc); ns1.client = new CustomClient(); ns1.publish("dummy", "live"); ns2.client = new CustomClient(); vid.attachNetStream(ns2); ns2.play("dummy"); setTimeout(sendHello, 3000); break; case "NetStream.Publish.BadName": trace("Please check the name of the publishing stream" ); break; } } function sendHello():void { ns1.send("myFunction", "hello"); } } } class CustomClient { public function myFunction(event:String):void { trace(event); } }
private function netStatusHandler(event:NetStatusEvent):void { switch (event.info.code) { case "NetStream.Publish.Start": var metaData:Object = new Object(); metaData.title = "myStream"; metaData.width = 400; metaData.height = 200; ns.send("@setDataFrame", "onMetaData", metaData); ns.attachCamera( Camera.getCamera() ); ns.attachAudio( Microphone.getMicrophone() ); } }
onMetaData
olay işleyicisi tanımlaması gerekir. onMetaData
olay işleyicisi addEventListener()
ile kaydedilmemiştir, ancak bunun yerine onMetaData
adında bir geri çağırma işlevidir, örneğin:
public function onMetaData(info:Object):void { trace("width: " + info.width); trace("height: " + info.height); }
// Create a NetStream for playing var my_ns:NetStream = new NetStream(my_nc); my_video.attachNetStream(my_ns); // Play the stream record1 my_ns.play("record1", 0, -1, true); // Switch to the stream live1 and play for 5 seconds. // Since reset is false, live1 will start to play after record1 is done. my_ns.play("live1", -1 , 5, false);
//To play at normal speed var my_ns:NetStream = new NetStream(my_nc); my_ns.play("log", 0, -1); //To get the data messages all at once my_ns.play("log", 0, -1, 3);
setDRMAuthenticationCredentials | () | yöntem |
public function setDRMAuthenticationCredentials(userName:String, password:String, type:String):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Lite 4 |
Temel şifrelenmiş içeriğin görüntülenmesi için gerekli olan DRM kimlik denetimi kimlik bilgilerini ayarlar.
setDRMAuthenticationCredentials()
yöntemi, içerik sağlayıcı veya proxy sunucusu tarafından bilinen ve kabul edilen kimlik bilgileriyle eşleşen kimlik bilgilerini sağlamalıdır. Bunlar, içeriği görüntülemek için izin alırken kullanıcı tarafından kullanılan kimlik bilgilerinin aynısıdır.
Parametreler
userName:String — Geçerli bir kullanıcı adı kimlik bilgisi.
| |
password:String — Sağlanan kullanıcı adına karşılık gelen parola kimlik bilgisi.
| |
type:String — Ne tür kimlik denetimi kimlik bilgilerinin sağlandığını belirten bir dize. Geçerli değerler, "drm" ve "proxy" değerleridir. Varsayılan değer, "drm" değeridir.
|
İlgili API Öğeleri
step | () | yöntem |
public function step(frames:int):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
Geçerli olarak görüntülenen kareye göre, belirtilen kare sayısı kadar ileri veya geri gider. İleri gitmek için pozitif bir sayı ve geri gitmek için negatif bir sayı belirtin. Doğru bir ileri sarma veya geri sarma işlevselliği oluşturmak için bu yöntemi çağırın.
Not: Bu yöntem, iOS için AIR 3.0'da H.264 için desteklenmez.
Bu yöntem yalnızca veri Flash Media Server 3.5.3 veya sonraki bir sürümünden akış yapılırken ve NetStream.inBufferSeek
true
olduğunda kullanılabilir. Ayrıca hedef karenin de arabellekte olması gerekir. Örneğin, o anda görüntülenen kare 120 numaralı kareyse ve 1000 değeri belirtirseniz, 1120 numaralı kare arabellekte değilse yöntem başarısız olur.
Bu yöntem pause()
veya togglePause()
yöntemleriyle kullanılması için tasarlanmıştır. Oynatma sırasında duraklatmadan 10 kare ileri veya geri adım atlarsanız, adımları fark edebilirsiniz veya bunlar bozukluk gibi görünebilir. Ayrıca, pause()
veya togglePause
öğelerini çağırdığınızda, ses bastırılır.
NetStream.step()
öğesine yapılan çağrı başarılı olursa, info nesnesinin code
özelliğinin değeri "NetStream.Step.Notify" olacak şekilde bir NetStatusEvent gönderilir.
Parametreler
frames:int |
İlgili API Öğeleri
togglePause | () | yöntem |
public function togglePause():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Akışın oynatılmasını duraklatır veya devam ettirir. Bu yöntem ilk çağrıldığında oynatmayı duraklatır, bir sonraki çağrılışında oynatmayı devam ettirir. Kullanıcıların tek bir düğmeye basarak oynatmayı duraklamasını ve devam ettirmesini sağlamak için bu yöntemi kullanabilirsiniz.
İlgili API Öğeleri
asyncError | Olay |
flash.events.AsyncErrorEvent
özellik AsyncErrorEvent.type =
flash.events.AsyncErrorEvent.ASYNC_ERROR
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Eşzamansız olarak, yani yerel eşzamansız koddan bir istisna atıldığında gönderilir. Sunucu, istemci üzerinde tanımlanmamış bir yöntemi çağırdığında bu olay gönderilir.
AsyncErrorEvent.ASYNC_ERROR
sabiti, bir asyncError
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | Olayı gönderen nesne. |
error | Olayı tetikleyen hata. |
İlgili API Öğeleri
drmAuthenticate | Olay |
flash.events.DRMAuthenticateEvent
özellik DRMAuthenticateEvent.type =
flash.events.DRMAuthenticateEvent.DRM_AUTHENTICATE
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Lite 4 |
Bir NetStream nesnesi, oynatmadan önce kimlik doğrulama için kullanıcı kimlik bilgilerini gerektiren dijital haklar yönetimi (DRM) şifrelenmiş içeriğini oynatmayı denediğinde gönderilir.
Not: Bu olay, iOS için AIR 3.0'da H.264 için desteklenmez.
Kullanıcının kimliğini doğrulamak için NetStream nesnesinin setDRMAuthenticationCredentials()
yöntemini kullanın. Kullanıcı kimlik doğrulaması başarısız olursa, uygulama, kimlik doğrulamasını yeniden dener ve NetStream nesnesi için yeni bir DRMAuthenticateEvent olayı gönderir.
DRMAuthenticateEvent.DRM_AUTHENTICATE
sabiti, DRMAuthenticateEvent nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
authenticationType | Sağlanan kimlik bilgilerinin, Flash Media Rights Management Server (FMRMS) veya proxy sunucusuna yönelik kimlik doğrulaması için olduğunu belirtir. |
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yok. |
header | Sunucu tarafından sağlanan şifrelenmiş içerik dosyası üstbilgisi. |
netstream | Bu olayı başlatan NetStream nesnesi. |
passwordPrompt | Sunucu tarafından sağlanan, parola kimlik bilgisi istemi. |
target | NetStream nesnesi. |
urlPrompt | Sunucu tarafından sağlanan, görüntülenecek URL istemi. |
usernamePrompt | Sunucu tarafından sağlanan, kullanıcı adı kimlik bilgisi istemi. |
İlgili API Öğeleri
drmError | Olay |
flash.events.DRMErrorEvent
özellik DRMErrorEvent.type =
flash.events.DRMErrorEvent.DRM_ERROR
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 10.1, Flash Lite 4 |
Bir dijital haklar yönetimi (DRM) şifrelenmiş dosyasını oynatmaya çalışan NetStream nesnesi DRM ilişkili bir hatayla karşılaştığında gönderilir. Örneğin, kimlik doğrulama başarısız olduğunda bir DRMErrorEvent nesnesi gönderilir. Bu, kullanıcı içeriği görüntüleme yetkisini satın almamış olmasından veya içerik sağlayıcısının görüntüleme uygulamasını desteklememesinden kaynaklanabilir.
Not: Bu olay, iOS için AIR 3.0'da H.264 için desteklenmez.
DRMErrorEvent.DRM_ERROR
sabiti, drmError
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
errorID | Probleme atanan sayısal bir hata kodu. |
subErrorID | Temel sorun hakkında daha ayrıntılı bilgi belirten bir hata kodu. |
target | NetStream nesnesi. |
İlgili API Öğeleri
drmStatus | Olay |
flash.events.DRMStatusEvent
özellik DRMStatusEvent.type =
flash.events.DRMStatusEvent.DRM_STATUS
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 10.1, Flash Lite 4 |
Dijital hak yönetimi (DRM) şifrelenmiş içeriği yürütülmeye başladığında gönderilir (kullanıcı kimlik doğrulamasından geçtiğinde ve içeriği yürütmek için yetkili olduğunda).
Not: Bu olay, iOS için AIR 3.0'da H.264 için desteklenmez.
DRMStatusEvent nesnesi makbuza ilişkin bilgi içerir, örneğin içeriğin çevrimdışı olarak kullanılabilir olup olmadığı veya makbuzun süresi dolduğunda ve kullanıcılar artık içeriği görüntüleyemediğinde.
DRMStatusEvent.DRM_STATUS
sabiti, drmStatus
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
detail | Status olayının bağlamını açıklayan bir dize. |
isAnonymous | DRM şifrelemesi ile korunan içeriğin kullanıcının kimlik doğrulama bilgilerini sağlaması gerekmeden kullanılabilir olup olmadığını belirtir. |
isAvailableOffline | DRM şifrelemesi ile korunan içeriğin çevrimdışı kullanılabilir olup olmadığını belirtir. |
offlineLeasePeriod | İçeriğin çevrimdışı görüntülenebileceği kalan gün sayısı. |
policies | DRM status olayının özel bir nesnesi. |
target | NetStream nesnesi. |
voucherEndDate | Fiş süresinin dolacağı ve artık içeriğin kullanıcılar tarafından görüntülenemeyeceği kesin tarih. |
contentData | İçerik için DRMContentData |
voucher | İçerik için DRMVoucher nesnesi. |
isLocal | İçeriğin yerel dosya sisteminde saklanıp saklanmadığını gösterir |
İlgili API Öğeleri
ioError | Olay |
flash.events.IOErrorEvent
özellik IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir ağ işleminin başarısız olmasına neden olan bir girdi veya çıktı hatası ortaya çıktığında gönderilir.
ioError
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
errorID | Belirli bir hata mesajıyla ilişkili başvuru numarası (yalnızca AIR). |
target | Girdi/çıktı hatası yaşayan network nesnesi. |
text | Hata mesajı olarak gösterilecek metin. |
mediaTypeData | Olay |
flash.events.NetDataEvent
özellik NetDataEvent.type =
flash.events.NetDataEvent
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.3, AIR 2.7 |
Video içeriği oynatılırken ve belirli mesaj türleri işlenirken gönderilir.
Şu mesajlar için NetDataEvent gönderilir:
- onCuePoint
- onImageData
- onMetaData
- onPlayStatus (NetStream.Play.Complete kodu için)
- onTextData
- onXMPData
Not: Bu olay, Android veya Blackberry Tablet işletim sistemi üzerindeki tarayıcıda bulunan Flash Player'da çalışan içerik veya iOS üzerindeki AIR'de çalışan içerik tarafından gönderilmez.
netStatus | Olay |
flash.events.NetStatusEvent
özellik NetStatusEvent.type =
flash.events.NetStatusEvent.NET_STATUS
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir NetStream nesnesi durumunu veya hata koşulunu bildirirken gönderilir. netStatus
olayı bir info
özelliği içerir. Bu özellik, bir bağlantı denemesinin başarılı olup olmaması gibi olay hakkında belirli bilgiler içeren bir bilgi nesnesidir.
netStatus
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
info | Nesnenin durumunu veya hata koşulunu açıklayan özellikleri olan bir nesne. |
target | Durumunu bildiren NetConnection veya NetStream nesnesi. |
İlgili API Öğeleri
onCuePoint | Olay |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Video oynatılırken gömülü bir işaret noktasına ulaşıldığında yanıt vermek için bir dinleyici oluşturur. Video belirli bir işaret noktasına ulaştığında kodunuzdaki eylemleri tetiklemek için dinleyiciyi kullanabilirsiniz. Böylece, uygulamanızdaki diğer eylemleri video oynatma olaylarıyla senkronize edebilirsiniz. Flash Media Server tarafından desteklenen video dosya biçimleri hakkında bilgi almak için, bkz. www.adobe.com/go/learn_fms_fileformats_tr.
Not: Bu olay, iOS için AIR 3.0'da H.264 için desteklenmez.
onCuePoint
aslında NetStream.client
nesnesinin bir özelliğidir. Bu özellik, Flash Media Server kullanılarak medya akışa alınırken veya FLV dosyası oynatılırken veri olayına yanıt verdiği için Events bölümünde listelenir. Daha fazla bilgi için, NetStream sınıfı açıklamasına bakın. onCuePoint
öğesini dinlemek veya bir olay olarak işlemek için addEventListener()
yöntemini veya diğer EventDispatcher yöntemlerinden birini kullanamazsınız. Bir geri çağırma işlevi tanımlayın ve onu aşağıdaki nesnelerden birine ekleyin:
- Bir NetStream örneğinin
client
özelliğinin başvuru yaptığı nesne. - Bir NetStream alt sınıfının örneği: NetStream mühürlü bir sınıftır. Başka bir deyişle, özellikler veya yöntemler çalışma zamanındaki bir NetStream nesnesine eklenemez. NetStream öğesinin bir alt sınıfını oluşturup olay işleyicinizi alt sınıfta tanımlayın. Ayrıca alt sınıfı dinamik yapabilirsiniz ve olay işleyici işlevini alt sınıfın bir örneğine ekleyebilirsiniz.
İlişkilendirilmiş olay dinleyicisi, NetStream.play()
yöntemine yapılan bir çağrıdan sonra ve video oynatma kafası ilerlemeden önce tetiklenir.
Aşağıdaki işaret noktası türlerini bir video dosyasına gömebilirsiniz:
- Gezinme işaret noktası, video dosyası içinde bir anahtar kare belirtir ve işaret noktasının
time
özelliği tam olarak o anahtar kareye karşılık gelir. Gezinme işaret noktaları, kullanıcıların video dosyasında gezinmelerini sağlamak için genellikle yer işaretleri veya giriş noktaları olarak kullanılır. - Bir olay işaret noktası bir zamanı belirler. Zaman belirli bir anahtar kareye karşılık gelebilir veya gelmeyebilir. Bir olay işaret noktası genellikle, diğer uygulama olaylarını tetiklemek için kullanılabilecek bir olay meydana geldiğinde videodaki süreyi temsil eder.
onCuePoint
olay nesnesi aşağıdaki özelliklere sahiptir:
Özellik | Açıklama |
---|---|
name | Video dosyasına gömülmesi sırasında işaret noktasına verilen ad. |
parameters | Bu işaret noktası için belirtilen ad ve değer çift dizelerinin ilişkilendirilebilir dizisi. Parametre adı veya değeri için geçerli bir dize kullanılabilir. |
time | İşaret noktasının oynatma sırasında video dosyasında göründüğü saniye cinsinden süre. |
type | Erişilen işaret noktasının türü (gezinme veya olay). |
Bir video dosyasını ilk kodladığınızda veya Video İçe Aktarma sihirbazını kullanarak Flash'ın içine bir video klibi aktarırken dosyada işaret noktaları tanımlayabilirsiniz.
onMetaData
olayı ayrıca, bir video dosyasındaki işaret noktaları hakkında bilgi alır. Ancak, onMetaData
olayı, video oynatılmaya başlamadan önce tüm işaret noktaları hakkında bilgi alır. onCuePoint
olayı, oynatma sırasında o işaret noktası için belirtilen süredeki işaret noktası hakkında bilgi alır.
Genel olarak, kodunuzun, oluştuğu sürede belirli bir işaret noktasına yanıt vermesi için, kodunuzda bazı eylemleri tetiklemek üzere onCuePoint
olayını kullanın.
Kullanıcının videoyu, video akışı boyunca önceden tanımlanmış noktalarda oynatmaya başlaması için onMetaData
olayında sağlanmış işaret noktası listesini kullanabilirsiniz. Videoyu o işaret noktasından itibaren oynatmak için işaret noktasının time
özelliğinin değerini NetStream.seek()
yöntemine iletin.
Örnek ( Bu örnek nasıl kullanılır? )
var video:Video = new Video(); addChild(video); var nc:NetConnection = new NetConnection(); nc.connect(null); var ns:NetStream = new NetStream(nc); ns.client = {}; ns.client.onMetaData = ns_onMetaData; ns.client.onCuePoint = ns_onCuePoint; video.attachNetStream(ns); ns.play("http://www.helpexamples.com/flash/video/cuepoints.flv"); function ns_onMetaData(item:Object):void { trace("metaData"); // Resize video instance. video.width = item.width; video.height = item.height; // Center video instance on Stage. video.x = (stage.stageWidth - video.width) / 2; video.y = (stage.stageHeight - video.height) / 2; } function ns_onCuePoint(item:Object):void { trace("cuePoint"); trace(item.name + "\t" + item.time); }
İlgili API Öğeleri
onDRMContentData | Olay |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.5, Flash Lite 4 |
AIR, bir medya dosyasında gömülü olan DRM içeriği meta verilerini ayıkladığında yanıt vermek üzere bir dinleyici oluşturur.
Not: Bu olay, iOS için AIR 3.0'da H.264 için desteklenmez.
DRMContentData nesnesi, DRM korumalı bir medya dosyasını oynatmak için gerekli olan fişi almak için gereken bilgiyi içerir. Bu bilgiyi içeren fişi indirmek için DRMManager sınıfını kullanın.
onDRMContentData
, NetStream.client
nesnesinin bir özelliğidir. Bu özellik, yerel bir medya dosyasında gömülü verilerin önceden yüklenmesi sırasında bir veri olayına yanıt verdiği için Events bölümünde listelenir. Daha fazla bilgi için, NetStream sınıfı açıklamasına bakın. onDRMContentData
öğesini dinlemek veya bir olay olarak işlemek için addEventListener()
yöntemini veya diğer EventDispatcher yöntemlerinden birini kullanamazsınız. Bunu yerine, tek bir geri çağırma işlevi belirleyip bunu doğrudan aşağıdaki nesnelerden birine ekleyebilirsiniz:
- Bir NetStream örneğinin
client
özelliğinin başvuru yaptığı nesne. - Bir NetStream alt sınıfının örneği: NetStream mühürlü bir sınıftır. Başka bir deyişle, özellikler veya yöntemler çalışma zamanındaki bir NetStream nesnesine eklenemez. Ancak NetStream öğesinin bir alt sınıfını oluşturabilir ve olay işleyicinizi alt sınıfta tanımlayabilirsiniz veya alt sınıfı dinamik hale getirip, olay işleyicisi işlevini alt sınıfın bir örneğine ekleyebilirsiniz.
İlgili API Öğeleri
onImageData | Olay |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4 |
Flash Player oynatılmakta olan bir medya dosyasında bayt dizisi olarak gömülü görüntü verilerini aldığında yanıt vermek için bir dinleyici oluşturur. Görüntü verileri JPEG, PNG veya GIF içeriği oluşturabilir. Bayt dizisini görüntüleme nesnesine yüklemek için flash.display.Loader.loadBytes()
yöntemini kullanın.
Not: Bu olay, iOS için AIR 3.0'da H.264 için desteklenmez.
onImageData
aslında NetStream.client
nesnesinin bir özelliğidir. Bu özellik, Flash Media Server kullanılarak medya akışa alınırken veya FLV dosyası oynatılırken veri olayına yanıt verdiği için Events bölümünde listelenir. Daha fazla bilgi için, NetStream sınıfı açıklamasına bakın. onImageData
öğesini bir olay olarak dinlemek veya işlemek için addEventListener()
yöntemini ya da başka bir EventDispatcher yöntemini kullanamazsınız. Tek bir geri çağırma işlevi tanımlayın ve onu aşağıdaki nesnelerden birine ekleyin:
- Bir NetStream örneğinin
client
özelliğinin başvuru yaptığı nesne. - Bir NetStream alt sınıfının örneği: NetStream mühürlü bir sınıftır. Başka bir deyişle, özellikler veya yöntemler çalışma zamanındaki bir NetStream nesnesine eklenemez. NetStream öğesinin bir alt sınıfını oluşturup olay işleyicinizi alt sınıfta tanımlayın. Ayrıca alt sınıfı dinamik yapabilirsiniz ve olay işleyici işlevini alt sınıfın bir örneğine ekleyebilirsiniz.
İlişkilendirilmiş olay dinleyicisi, NetStream.play()
yöntemine yapılan bir çağrıdan sonra ve video oynatma kafası ilerlemeden önce tetiklenir.
onImageData olay nesnesinde, görüntü verileri AMF0 veri kanalı üzerinden gönderilmiş bir bayt dizisi şeklindedir.
Örnek ( Bu örnek nasıl kullanılır? )
onTextData
ve onImageData
öğelerine yönelik geri çağırma işlevlerini işlemek için Netstream.client
özelliğini kullanır. onImageDataHandler()
işlevi, bayt dizisini saklamak için imageData
onImageData olay nesnesini kullanır. onTextDataHandler()
işlevi, metin verisi parçalarını (her veri parçası textData
nesnesinin bir özelliğidir) saklamak için textData
onTextData olay nesnesini kullanır.
Metin veya görüntü meta verilerine sahip medya dosyasının gerçek konumunu koddaki "yourURL"
konumuyla değiştirmelisiniz.
Görüntü ve metin verilerini ayrıca bir özel sınıf kullanarak işleyebilirsiniz. Daha fazla bilgi ve örnek için Handling metadata and cue points in Flash video makalesine bakın.
package { import flash.display.*; import flash.net.*; import flash.media.*; import flash.system.*; import flash.events.*; public class OnTextDataExample extends Sprite { public function OnTextDataExample():void { var my_video:Video = new Video(); addChild(my_video); var customClient:Object = new Object(); customClient.onImageData = onImageDataHandler; customClient.onTextData = onTextDataHandler; var my_nc:NetConnection = new NetConnection(); my_nc.connect(null); var my_ns:NetStream = new NetStream(my_nc); my_ns.client = customClient; my_video.attachNetStream(my_ns); my_ns.play("yourURL"); } public function onImageDataHandler(imageData:Object):void { trace("imageData length: " + imageData.data.length); var imageloader:Loader = new Loader(); imageloader.loadBytes(imageData.data); // imageData.data is a ByteArray object. addChild(imageloader); } public function onTextDataHandler(textData:Object):void { trace("--- textData properties ----"); var key:String; for (key in textData) { trace(key + ": " + textData[key]); } } } }
İlgili API Öğeleri
onMetaData | Olay |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Flash Player oynatılmakta olan videoda gömülü açıklayıcı bilgileri aldığında yanıt vermek için bir dinleyici oluşturur. Flash Media Server tarafından desteklenen video dosya biçimleri hakkında bilgi almak için, bkz. www.adobe.com/go/learn_fms_fileformats_tr.
onMetaData
aslında NetStream.client
nesnesinin bir özelliğidir. Bu özellik, Flash Media Server kullanılarak medya akışa alınırken veya FLV dosyası oynatılırken veri olayına yanıt verdiği için Events bölümünde listelenir. Daha fazla bilgi için, NetStream sınıfının açıklamasına ve NetStream.client
özelliğine bakın. onMetaData
öğesini bir olay olarak dinlemek veya işlemek için addEventListener()
yöntemini ya da başka bir EventDispatcher yöntemini kullanamazsınız. Tek bir geri çağırma işlevi tanımlayın ve onu aşağıdaki nesnelerden birine ekleyin:
- Bir NetStream örneğinin
client
özelliğinin başvuru yaptığı nesne. - Bir NetStream alt sınıfının örneği: NetStream mühürlü bir sınıftır. Başka bir deyişle, özellikler veya yöntemler çalışma zamanındaki bir NetStream nesnesine eklenemez. NetStream öğesinin bir alt sınıfını oluşturup olay işleyicinizi alt sınıfta tanımlayabilirsiniz. Ayrıca alt sınıfı dinamik yapabilirsiniz ve olay işleyici işlevini alt sınıfın bir örneğine ekleyebilirsiniz.
Flash Video Exporter yardımcı programı (sürüm 1.1 veya sonrası) videonun süresini, oluşturulma tarihini, veri hızlarını ve diğer bilgileri video dosyasına gömer. Farklı video kodlayıcılar, farklı meta verisi kümelerini gömer.
İlişkilendirilmiş olay dinleyicisi, NetStream.play()
yöntemine yapılan bir çağrıdan sonra ve video oynatma kafası ilerlemeden önce tetiklenir.
Birçok durumda, akış meta verilerine gömülü olan süre değeri yaklaşık olarak gerçek süreye karşılık gelir ancak tam olarak aynı değildir. Başka bir deyişle, oynatma kafası video akışının sonunda olduğunda her zaman NetStream.time
değeriyle eşleşmez.
onMetaData olay işleyicisine iletilen olay nesnesi, her veri için bir özellik içerir.
Örnek ( Bu örnek nasıl kullanılır? )
var video:Video = new Video(); addChild(video); var nc:NetConnection = new NetConnection(); nc.connect(null); var ns:NetStream = new NetStream(nc); ns.client = {}; ns.client.onMetaData = ns_onMetaData; ns.client.onCuePoint = ns_onCuePoint; video.attachNetStream(ns); ns.play("http://www.helpexamples.com/flash/video/cuepoints.flv"); function ns_onMetaData(item:Object):void { trace("metaData"); // Resize video instance. video.width = item.width; video.height = item.height; // Center video instance on Stage. video.x = (stage.stageWidth - video.width) / 2; video.y = (stage.stageHeight - video.height) / 2; } function ns_onCuePoint(item:Object):void { trace("cuePoint"); trace(item.name + "\t" + item.time); }
İlgili API Öğeleri
onPlayStatus | Olay |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
NetStream nesnesi bir akışı tamamen oynattığında yanıt vermek için bir dinleyici oluşturur. netStatus
olayının döndürdüklerine ek olarak, ilişkilendirilmiş olay nesnesi de bilgi sağlar. Bir NetStream nesnesi, oynatma listesindeki bir akıştan başka bir akışa geçtiğinde (NetStream.Play.Switch
bilgi nesnesi tarafından gösterildiği şekilde) veya NetStream nesnesi sonuna kadar oynatıldığında (NetStream.Play.Complete
bilgi nesnesi tarafından gösterildiği şekilde) kodunuzdaki eylemleri tetiklemek için bu özelliği kullanabilirsiniz.
onPlayStaus
aslında NetStream.client
nesnesinin bir özelliğidir. Bu özellik, Flash Media Server kullanılarak medya akışa alınırken veya FLV dosyası oynatılırken veri olayına yanıt verdiği için Events bölümünde listelenir. Daha fazla bilgi için, NetStream sınıfı açıklamasına bakın. onPlayStatus
öğesini dinlemek veya bir olay olarak işlemek için addEventListener()
yöntemini veya diğer EventDispatcher yöntemlerinden birini kullanamazsınız. Bir geri çağırma işlevi tanımlayın ve onu aşağıdaki nesnelerden birine ekleyin:
- Bir NetStream örneğinin
client
özelliğinin başvuru yaptığı nesne. - Bir NetStream alt sınıfının örneği: NetStream mühürlü bir sınıftır. Başka bir deyişle, özellikler veya yöntemler çalışma zamanındaki bir NetStream nesnesine eklenemez. NetStream öğesinin bir alt sınıfını oluşturup olay işleyicinizi alt sınıfta tanımlayın. Ayrıca alt sınıfı dinamik yapabilirsiniz ve olay işleyici işlevini alt sınıfın bir örneğine ekleyebilirsiniz.
Bu olay, aşağıdaki özelliklere sahip bir bilgi nesnesi döndürebilir:
Code özelliği | Level özelliği | Anlamı |
---|---|---|
NetStream.Play.Switch | "status" | Abone, bir oynatma listesindeki bir akıştan başka bir akışa geçiyor. |
NetStream.Play.Complete | "status" | Oynatma tamamlandı. |
NetStream.Play.TransitionComplete | "status" | Abone, akış bit hızı geçişinin sonucu olarak yeni bir akışa geçiş yapıyor |
İlgili API Öğeleri
onSeekPoint | Olay |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Bayt ekleme ayrıştırıcısı aratılabilir bir nokta olduğuna inandığı bir noktayla karşılaştığında (örneğin bir video anahtar karesi), appendBytes()
öğesinden senkronize olarak çağırılır. Bu olayı bir arama noktası tablosu oluşturmak için kullanın. byteCount
, o arama noktasına ait ayrıştırılabilir mesajın ilk baytındaki byteCount
öğesine karşılık gelir ve yukarıda açıklandığı gibi sıfıra sıfırlanır. NetStream.Seek.Notify
olayında arama yapmak için, aratılabilir noktadan başlayan baytları bulun ve appendBytes(bytes)
öğesini çağırın. bytes
argümanı aratılabilir noktadan başlayan baytlardan oluşan bir ByteArray
öğesi ise, video o arama noktasında oynatılır.
Not: Bu geri çağrının içinden appendBytes()
öğesine yapılan çağrılar yok sayılır.
Not: Bu olay, iOS için AIR 3.0'da H.264 için desteklenmez.
onSeekPoint
özelliği, NetStream.client
nesnesinin bir özelliğidir. Özellik, appendBytes()
yöntemine gelen verilere yanıt verdiği için Olaylar bölümünde listelenir. Daha fazla bilgi için, NetStream sınıfının açıklamasına ve NetStream.client
özelliğine bakın. onSeekPoint
öğesini bir olay olarak dinlemek veya işlemek için addEventListener()
yöntemini ya da başka bir EventDispatcher yöntemini kullanamazsınız. onSeekPoint
öğesini kullanmak için, bir geri çağırma işlevi tanımlayın ve onu aşağıdaki nesnelerden birine ekleyin:
- Bir NetStream örneğinin
client
özelliğinin başvuru yaptığı nesne. - Bir NetStream alt sınıfının örneği: NetStream mühürlü bir sınıftır. Başka bir deyişle, özellikler veya yöntemler çalışma zamanındaki bir NetStream nesnesine eklenemez. Ancak, NetStream öğesinin bir alt sınıfını oluşturup olay işleyicinizi alt sınıfta tanımlayabilirsiniz. Ayrıca alt sınıfı dinamik yapabilirsiniz ve olay işleyici işlevini alt sınıfın bir örneğine ekleyebilirsiniz.
İlgili API Öğeleri
onTextData | Olay |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4 |
Flash Player oynatılmakta olan bir medya dosyasında gömülü metin verilerini aldığında yanıt vermek için bir dinleyici oluşturur. Metin verisi UTF-8 biçimindedir ve 3GP zamanlanmış metin belirtimine dayanarak biçimlendirme hakkında bilgiler içerebilir.
Not: Bu olay, iOS için AIR 3.0'da H.264 için desteklenmez.
onTextData
aslında NetStream.client
nesnesinin bir özelliğidir. Bu özellik, Flash Media Server kullanılarak medya akışa alınırken veya FLV dosyası oynatılırken veri olayına yanıt verdiği için Events bölümünde listelenir. Daha fazla bilgi için, NetStream sınıfı açıklamasına bakın. onTextData
öğesini dinlemek veya bir olay olarak işlemek için addEventListener()
yöntemini veya diğer EventDispatcher yöntemlerinden birini kullanamazsınız. Bir geri çağırma işlevi tanımlayın ve onu aşağıdaki nesnelerden birine ekleyin:
- Bir NetStream örneğinin
client
özelliğinin başvuru yaptığı nesne. - Bir NetStream alt sınıfının örneği: NetStream mühürlü bir sınıftır. Başka bir deyişle, özellikler veya yöntemler çalışma zamanındaki bir NetStream nesnesine eklenemez. NetStream öğesinin bir alt sınıfını oluşturup olay işleyicinizi alt sınıfta tanımlayın. Ayrıca alt sınıfı dinamik yapabilirsiniz ve olay işleyici işlevini alt sınıfın bir örneğine ekleyebilirsiniz.
İlişkilendirilmiş olay dinleyicisi, NetStream.play()
yöntemine yapılan bir çağrıdan sonra ve video oynatma kafası ilerlemeden önce tetiklenir.
onTextData olay nesnesi, her metin verisi parçası için bir özellik içerir.
Örnek ( Bu örnek nasıl kullanılır? )
onTextData
ve onImageData
öğelerine yönelik geri çağırma işlevlerini işlemek için Netstream.client
özelliğini kullanır. onImageDataHandler()
işlevi, bayt dizisini saklamak için imageData
onImageData olay nesnesini kullanır. onTextDataHandler()
işlevi, metin verisi parçalarını (her veri parçası textData
nesnesinin bir özelliğidir) saklamak için textData
onTextData olay nesnesini kullanır.
Metin veya görüntü meta verilerine sahip medya dosyasının gerçek konumunu koddaki "yourURL"
konumuyla değiştirmelisiniz.
Görüntü ve metin verilerini ayrıca bir özel sınıf kullanarak işleyebilirsiniz. Daha fazla bilgi ve örnek için Handling metadata and cue points in Flash video makalesine bakın.
package { import flash.display.*; import flash.net.*; import flash.media.*; import flash.system.*; import flash.events.*; public class OnTextDataExample extends Sprite { public function OnTextDataExample():void { var my_video:Video = new Video(); addChild(my_video); var customClient:Object = new Object(); customClient.onImageData = onImageDataHandler; customClient.onTextData = onTextDataHandler; var my_nc:NetConnection = new NetConnection(); my_nc.connect(null); var my_ns:NetStream = new NetStream(my_nc); my_ns.client = customClient; my_video.attachNetStream(my_ns); my_ns.play("yourURL"); } public function onImageDataHandler(imageData:Object):void { trace("imageData length: " + imageData.data.length); var imageloader:Loader = new Loader(); imageloader.loadBytes(imageData.data); // imageData.data is a ByteArray object. addChild(imageloader); } public function onTextDataHandler(textData:Object):void { trace("--- textData properties ----"); var key:String; for (key in textData) { trace(key + ": " + textData[key]); } } } }
İlgili API Öğeleri
onXMPData | Olay |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Flash Player, oynatılmakta olan videoda gömülü Adobe Extensible Metadata Platform'a (XMP) özel bilgiler aldığında yanıt vermek için bir dinleyici oluşturur. Flash Media Server tarafından desteklenen video dosya biçimleri hakkında bilgi almak için, bkz. www.adobe.com/go/learn_fms_fileformats_tr.
Not: Bu olay, iOS için AIR 3.0'da H.264 için desteklenmez.
onXMPData
aslında NetStream.client
nesnesinin bir özelliğidir. Bu özellik, Flash Media Server kullanılarak medya akışa alınırken veya FLV dosyası oynatılırken veri olayına yanıt verdiği için Events bölümünde listelenir. Daha fazla bilgi için, NetStream sınıfının açıklamasına ve NetStream.client
özelliğine bakın. onMetaData
öğesini bir olay olarak dinlemek veya işlemek için addEventListener()
yöntemini ya da başka bir EventDispatcher yöntemini kullanamazsınız. Bir geri çağırma işlevi tanımlayın ve onu aşağıdaki nesnelerden birine ekleyin:
- Bir NetStream örneğinin
client
özelliğinin başvuru yaptığı nesne. - Bir NetStream alt sınıfının örneği: NetStream mühürlü bir sınıftır. Başka bir deyişle, özellikler veya yöntemler çalışma zamanındaki bir NetStream nesnesine eklenemez. Ancak, NetStream öğesinin bir alt sınıfını oluşturup olay işleyicinizi alt sınıfta tanımlayabilirsiniz. Ayrıca alt sınıfı dinamik yapabilirsiniz ve olay işleyici işlevini alt sınıfın bir örneğine ekleyebilirsiniz.
İlişkilendirilmiş olay dinleyicisi, NetStream.play()
yöntemine yapılan bir çağrıdan sonra ve video oynatma kafası ilerlemeden önce tetiklenir.
onXMPData()
olay işleme işlevine iletilen nesne, dize olan bir data
özelliğine sahiptir. Bu dize, üst düzey UUID kutusundan oluşturulur. (Üst düzey kutunun 128-bit UUID'si şudur: BE7ACFCB-97A9-42E8-9C71-999491E3AFAC
.) Bu üst düzey UUID kutusu, boş sonlandırmalı UTF-8 dizesi olarak temsil edilen bir XML belgesi içerir.
İlgili API Öğeleri
status | Olay |
flash.events.StatusEvent
özellik StatusEvent.type =
flash.events.StatusEvent.STATUS
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 1.0, Flash Lite 4 |
Uygulama NetStream.play()
yöntemini çağırarak dijital haklar yönetimi (DRM) ile şifrelenmiş içeriği oynatmaya çalıştığında gönderilir. Durum kodu özelliğinin değeri "DRM.encryptedFLV"
olacaktır.
Not: Bu olay, iOS için AIR 3.0'da H.264 için desteklenmez.
status
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
code | Nesne durumunun bir açıklaması. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
düzey | Mesajın kategorisi; örneğin, "status" , "warning" veya "error" . |
target | Durumunu bildiren nesne. |
İlgili API Öğeleri
CONNECT_TO_FMS | Sabit |
public static const CONNECT_TO_FMS:String = "connectToFMS"
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
NetStream örneğinin yapıcısına bir parametre olarak kullanılan statik nesne. Bu, NetStream yapıcısındaki ikinci parametrenin varsayılan değeridir; aşamalı medya oynatımı için uygulama tarafından kullanılmaz. Bu parametre kullanıldığı takdirde, yapıcının Flash Media Server örneğine bir bağlantı oluşturmasına neden olur.
DIRECT_CONNECTIONS | Sabit |
public static const DIRECT_CONNECTIONS:String = "directConnections"
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Bir eşler arası yayıncı bağlantısı oluşturur. İkinci (isteğe bağlı) parametrenin bu dizesini, NetStream örneğinin yapıcısına iletin. Bu dizeyle bir uygulama, istemcilere ses ve video yayınlama amacıyla bir NetStream bağlantısı oluşturabilir.
Bu örnekte, Video ve NetStream nesnelerini oluşturan ve Video.attachNetStream()
ve NetStream.play()
yöntemlerini çağıran kod bir işleyici işlevine yerleştirilir. İşleyici yalnızca, NetConnection nesnesine bağlanmak için yapılan denemenin başarılı olması durumunda; yani netStatus
olayı, başarılı olunduğunu gösteren code
özelliğine sahip bir info
nesnesi döndürdüğünde çağrılır. NetStream.play()
öğesini çağırmadan önce başarılı bir bağlantı yapılmasını beklemeniz önerilir.
package { import flash.display.Sprite; import flash.events.NetStatusEvent; import flash.events.SecurityErrorEvent; import flash.media.Video; import flash.net.NetConnection; import flash.net.NetStream; import flash.events.Event; public class NetConnectionExample extends Sprite { private var videoURL:String = "http://www.helpexamples.com/flash/video/cuepoints.flv"; private var connection:NetConnection; private var stream:NetStream; private var video:Video = new Video(); public function NetConnectionExample() { connection = new NetConnection(); connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); connection.connect(null); } private function netStatusHandler(event:NetStatusEvent):void { switch (event.info.code) { case "NetConnection.Connect.Success": connectStream(); break; case "NetStream.Play.StreamNotFound": trace("Stream not found: " + videoURL); break; } } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function connectStream():void { addChild(video); var stream:NetStream = new NetStream(connection); stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); stream.client = new CustomClient(); video.attachNetStream(stream); stream.play(videoURL); } } } class CustomClient { public function onMetaData(info:Object):void { trace("metadata: duration=" + info.duration + " width=" + info.width + " height=" + info.height + " framerate=" + info.framerate); } public function onCuePoint(info:Object):void { trace("cuepoint: time=" + info.time + " name=" + info.name + " type=" + info.type); } }
video
öğesinin genişliğini ve yüksekliğini ayarlamak için mdata
nesnesi kullanılır:
//Place the following in the connectStream() function //in the NetConnectionExample code var metaSniffer:Object=new Object(); stream.client=metaSniffer; //stream is the NetStream instance metaSniffer.onMetaData=getMeta; // Add the following function within the NetConnectionExample class private function getMeta (mdata:Object):void { video.width=mdata.width/2; video.height=mdata.height/2; }
Tue Jun 12 2018, 01:09 PM Z