Akış ses dosyalarıyla çalışma

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

Bir ses dosyası veya video dosyası, verileri yüklenirken oynatılıyorsa, akışa alınıyor demektir. Uzak bir sunucudan yüklenen harici ses dosyaları genellikle kullanıcı sesi dinlemeden önce tüm ses verilerinin yüklenmesini beklemek zorunda kalmayacak şekilde akışa alınır.

SoundMixer.bufferTime özelliği, Flash Player veya AIR uygulamasının ses çalınmasına izin vermeden önce toplaması gereken ses verisinin milisaniye sayısını temsil eder. Başka bir deyişle, bufferTime özelliği 5000 olarak ayarlanırsa, Flash Player veya AIR uygulaması ses çalınmaya başlamadan önce ses dosyasından en az 5000 milisaniyelik veriyi yükler. Varsayılan SoundMixer.bufferTime değeri 1000'dir.

Uygulamanız, sesi yüklerken yeni bir bufferTime değerini açıkça belirterek tek bir ses için genel SoundMixer.bufferTime değerini geçersiz kılabilir. Varsayılan arabellek süresini geçersiz kılmak için, aşağıda gösterildiği gibi, ilk önce SoundLoaderContext sınıfının yeni bir örneğini oluşturun, bunun bufferTime özelliğini ayarlayın ve sonra bu özelliği Sound.load() yöntemine parametre olarak iletin:

import flash.media.Sound; 
import flash.media.SoundLoaderContext; 
import flash.net.URLRequest; 
 
var s:Sound = new Sound(); 
var req:URLRequest = new URLRequest("bigSound.mp3"); 
var context:SoundLoaderContext = new SoundLoaderContext(8000, true); 
s.load(req, context); 
s.play();

Oynatma devam ettikçe, Flash Player ve AIR uygulaması ses arabelleğini aynı boyutta veya daha yüksek bir boyutta tutmaya çalışır. Ses verisi, oynatma hızından daha çabuk yüklenirse, oynatma kesinti olmadan devam eder. Ancak ağ sınırlamaları nedeniyle veri yükleme hızı düşerse, oynatma kafası ses arabelleğinin sonuna ulaşabilir. Bu durumda oynatma otomatik askıya alınır ancak ses verisi yüklendikten sonra otomatik olarak yeniden başlatılır.

Flash Player veya AIR uygulamasının veri yüklenmesini beklediğinden askıya alınıp alınmadığını öğrenmek için, Sound.isBuffering özelliğini kullanın.