| Paket | flash.media |
| Sınıf | public class SoundLoaderContext |
| Miras Alma | SoundLoaderContext Object |
| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
load() yöntemine iletilir.
Bu sınıfı kullanırken aşağıdaki güvenlik modelini dikkate alın.
- Çağıran dosyası bir ağ sanal alanı içindeyse ve yüklenecek ses dosyası yerelse sesin yüklenmesine ve çalınmasına izin verilmez.
- Varsayılan olarak, çağıran yerelse ve uzak bir sesi yükleyip çalmayı denerse sesin yüklenmesine ve çalınmasına izin verilmez. Kullanıcı buna izin vermek için açık şekilde izin vermelidir.
- Sesle ilgili belirli işlemler sınırlanmıştır. URL ilke dosyası uygulamadığınız sürece, farklı bir etki alanındaki bir dosyası yüklenen bir sesteki verilere erişemez. Bu kısıtlamanın kapsamındaki sesle ilgili API'ler
Sound.id3özelliği veSoundMixer.computeSpectrum(),SoundMixer.bufferTimeveSoundTransform()yöntemleridir.
Ancak Adobe AIR'de, application güvenlik sanal alanındaki içerik (AIR uygulamasıyla yüklenen içerik) bu güvenlik sınırlamalarıyla kısıtlanmaz.
Güvenlikle ilgili daha fazla bilgi için, bkz. Flash Player Geliştirici Merkezi Konusu: Güvenlik.
| Özellik | Tanımlayan: | ||
|---|---|---|---|
| bufferTime : Number = 1000
Ses akışına başlanmadan önce akış sesinin arabelleğe önyükleneceği milisaniye sayısı. | SoundLoaderContext | ||
| checkPolicyFile : Boolean = false
Uygulamanın sesi yüklemeye başlamadan önce ses sunucusundan bir URL ilke dosyası yüklemeyi denemesi gerekip gerekmediğini belirtir. | SoundLoaderContext | ||
![]() | constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | |
| Yöntem | Tanımlayan: | ||
|---|---|---|---|
Yeni bir ses yükleyici bağlam nesnesi oluşturur. | SoundLoaderContext | ||
![]() |
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 | |
![]() |
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | |
![]() |
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | |
![]() |
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 | |
bufferTime | özellik |
public var bufferTime:Number = 1000| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ses akışına başlanmadan önce akış sesinin arabelleğe önyükleneceği milisaniye sayısı.
Global SoundMixer.bufferTime özelliğini ayarlayarak SoundLoaderContext.bufferTime değerini geçersiz kılamayacağınızı unutmayın. SoundMixer.bufferTime özelliği, bir SWF dosyasındaki gömülü akış seslerinin arabellek süresini etkiler ve dinamik olarak oluşturulan Sound nesnelerinden (başka bir deyişle, ActionScript'te oluşturulmuş Sound nesneleri) bağımsızdır.
checkPolicyFile | özellik |
public var checkPolicyFile:Boolean = false| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Uygulamanın sesi yüklemeye başlamadan önce ses sunucusundan bir URL ilke dosyası yüklemeyi denemesi gerekip gerekmediğini belirtir. Bu özellik, Sound.load() yöntemi kullanılarak çağıran dosyasının kendi etki alanı dışından yüklenen ses için geçerlidir.
Çağıran dosyanın kendi etki alanının dışından bir ses dosyası yüklediğinizde ve çağıran dosyadaki kodun ses verilerine düşük düzeyli erişime sahip olması gerektiğinde, bu özelliği true olarak ayarlayın. Ses verilerine düşük düzeyli erişim örnekleri arasında, ID3Info nesnesi almak için Sound.id3 özelliğine başvurma veya yüklenen sesten ses örnekleri almak için SoundMixer.computeSpectrum() yöntemini çağırma yer alır. checkPolicyFile özelliğini yükleme süresinde true değerine ayarlamadan ses verilerine erişmeye çalışırsanız, gerekli ilke dosyası indirilmediğinden bir SecurityError istisnası alabilirsiniz.
Yüklemekte olduğunuz ses verilerine düşük düzeyli erişmeniz gerekmiyorsa, checkPolicyFile öğesini true değerine ayarlamaktan kaçının. İlke dosyasının kontrol edilmesi ağ bant genişliğini tüketir ve indirmenin başlamasını geciktirebilir, bu nedenle yalnızca gerektiğinde bunun yapılması gerekir.
SoundLoaderContext.checkPolicyFile öğesi true olarak ayarlıyken Sound.load() öğesini çağırırsanız, Flash Player veya AIR uygulamasının ilgili bir URL ilke dosyasını başarıyla indirmesi veya belirtilen sesi indirmeye başlamadan önce böyle bir ilke dosyasının bulunmadığını belirlemesi gerekir. Flash Player veya AIR, bir ilke dosyasının varlığını doğrulamak için aşağıdaki eylemleri şu sırayla gerçekleştirir:
- Flash Player veya AIR, önceden indirilmiş olan ilke dosyalarını göz önünde bulundurur.
- Flash Player veya AIR,
Security.loadPolicyFile()yöntemine yapılan çağrılarda belirtilen, bekleyen ilke dosyalarını indirmeyi dener. - Flash Player veya AIR, sesin
URLRequest.urlile aynı sunucuda bulunan/crossdomain.xmlkarşılık gelen varsayılan konumdan bir ilke dosyasını indirmeye çalışır. (Sesin URL'si,Sound.load()veya Sound() yapıcı işlevine iletilen URLRequest nesnesininurlözelliğinde belirtilir.)
Tüm durumlarda Flash Player veya AIR, sesin sunucusu üzerinde uygun bir ilke dosyasının olmamasını gerektirir. Böylece, ilke dosyasının konumuna göre URLRequest.url üzerindeki ses dosyasına erişimi ve çağıran dosyanın etki alanının bir veya daha fazla <allow-access-from> etiketi üzerinden sese erişimde bulunmasını sağlar.
checkPolicyFile öğesini true değerine ayarlarsanız, Flash Player veya AIR, sesi yüklemeden önce ilke dosyasının doğrulanmasını bekler. Ses verileri üzerinde Sound.id3 veya SoundMixer.computeSpectrum() çağırma gibi herhangi bir düşük düzeyli işlem gerçekleştirmek için Sound nesnesinden progress ve complete olaylarının gönderilmesini beklemeniz gerekir.
checkPolicyFile öğesini true değerine 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 Flash Player veya AIR bir SecurityError istisnası atar. Bir complete olayı aldıktan sonra, bir try bloğu içindeki Sound.id3 değerini alıp bir SecurityError atılıp atılmadığına bakarak ilgili ilke dosyasının bulunmuş olup olmadığını test edebilirsiniz.
Sunucu tarafındaki HTTP yönlendirmelerini kullanan bir URL'den ses indiriyorsanız checkPolicyFile konusunda dikkatli olun. Flash Player veya AIR, Sound.load() öğesine iletilen URLRequest nesnesinin url özelliğine karşılık gelen ilke dosyalarını almaya çalışır. HTTP yeniden yönlendirmeleri nedeniyle son ses dosyası farklı bir URL'den gelirse, ilk olarak indirilmiş olan ilke dosyaları, güvenlik kararlarında önemli olan son URL niteliğindeki, sesin son URL'sine uygulanamayabilir.
Bu tür bir durumda başvurulabilecek olası çözümlerden biri şudur: Bir progress veya complete olayı aldıktan sonra, sesin son URL'sini içeren Sound.url özelliğinin değerini inceleyebilirsiniz. Ardından, sesin son URL'sini esas alarak hesapladığınız bir ilke dosyası URL'siyle Security.loadPolicyFile() yöntemini çağırın. Son olarak, herhangi bir istisna atılmayıncaya kadar Sound.id3 değerini sorgulayın.
Bu, AIR uygulama sanal alanındaki içeriğe uygulanmaz. Uygulama sanal alanındaki içerik, kaynağından bağımsız olarak ses içeriğine her zaman programlı erişime sahiptir.
Güvenlikle ilgili daha fazla bilgi için, bkz. Flash Player Geliştirici Merkezi Konusu: Güvenlik.
İlgili API Öğeleri
SoundLoaderContext | () | Yapıcı |
public function SoundLoaderContext(bufferTime:Number = 1000, checkPolicyFile:Boolean = false)| Dil Sürümü: | ActionScript 3.0 |
| Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Yeni bir ses yükleyici bağlam nesnesi oluşturur.
ParametrelerbufferTime:Number (default = 1000) — Ses akışına başlanmadan önce akış sesinin arabelleğe önyükleneceği saniye sayısı.
| |
checkPolicyFile:Boolean (default = false) — Nesnenin yüklenmesi sırasında bir URL ilke dosyasının mevcudiyetinin kontrol edilmesi gerekip (true) gerekmediğini belirtir.
|
Örnek ( Bu örnek nasıl kullanılır? )
Varsayılan arabellek değerini bir saniyeden üç saniyeye çıkarmak için SoundLoaderContext nesnesinin birinci parametresi (context) kullanılır. (Değer milisaniye cinsindedir.) SoundLoaderContext nesnesinin ikinci parametresi true değerine ayarlanırsa, Flash Player, nesnenin yüklenmesinden sonra etki alanları arası ilke dosyasını kontrol eder. Burada false varsayılan değerine ayarlandığından herhangi bir ilke dosyası kontrol edilmez. Ses akışı başlamadan önce akış sesinin arabelleğe önyüklenmesi için üç saniye geçmesini sağlamak üzere ses nesnesinin load() yöntemi, bağlam ayarını kullanır. URLRequest nesnesi, dosyanın konumunu belirler, bu Adobe podcast'idir. Ses dosyası yüklenirken bir IOErrorEvent.IO_ERROR olayı gerçekleşirse, errorHandler() yöntemi çağrılır.
package {
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.media.Sound;
import flash.media.SoundLoaderContext;
import flash.events.IOErrorEvent;
public class SoundLoaderContextExample extends Sprite {
public function SoundLoaderContextExample() {
var snd:Sound = new Sound();
var req:URLRequest = new URLRequest("http://av.adobe.com/podcast/csbu_dev_podcast_epi_2.mp3");
var context:SoundLoaderContext = new SoundLoaderContext(3000, false);
snd.load(req, context);
snd.play();
snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
}
private function errorHandler(errorEvent:IOErrorEvent):void {
trace("The sound could not be loaded: " + errorEvent.text);
}
}
}
Tue Jun 12 2018, 01:09 PM Z
Miras Alınan Genel Özellikleri Gizle
Miras Alınan Genel Özellikleri Göster