Sesler yüklenirken ve çalınırken dikkate alınması gereken güvenlikle ilgili noktalar

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

Uygulamanızın ses verilerine erişme yeteneği, Flash Player veya AIR güvenlik modeline göre sınırlandırılabilir. Her ses, iki farklı güvenlik sanal alanının kısıtlamalarına tabidir: içeriğin kendi sanal alanı ("içerik sanal alanı") ve sesi yükleyip çalan uygulama veya nesnenin sanal alanı ("sahip sanal alanı"). Uygulama güvenlik sanal alanında AIR uygulama içeriği için, diğer etki alanlarından yüklenenler de dahil tüm seslere, uygulama güvenlik sanal alanındaki içerik tarafından erişilebilir. Ancak diğer güvenlik sanal alanındaki içerikler, Flash Player'da çalışan içerikle aynı kurallara uyar. Flash Player güvenlik modeli hakkında genel bilgi almak ve sanal alanların tanımlarını öğrenmek için bkz. Güvenlik .

İçerik sanal alanı, id3 özelliği veya SoundMixer.computeSpectrum() yöntemi kullanılarak sesten ses verilerinin ayıklanıp ayıklanamayacağını denetler. Bu, ses dosyasının yüklemesini veya çalınmasını kısıtlamaz.

Ses dosyasının kaynak etki alanı, içerik sanal alanının güvenlik sınırlamalarını tanımlar. Genellikle bir ses dosyası, o dosyayı yükleyen uygulama veya nesnenin SWF dosyasıyla aynı etki alanında ya da klasörde bulunuyorsa, uygulama veya nesne o ses dosyasına tam erişim elde eder. Ses, uygulamanınkinden farklı bir etki alanından geliyorsa, bir ilke dosyası kullanılarak da içerik sanal alanına getirilebilir.

Uygulamanız, checkPolicyFile özelliğiyle bir SoundLoaderContext nesnesini parametre olarak Sound.load() yöntemine iletebilir. checkPolicyFile özelliğinin true değerine ayarlanması, Flash Player veya AIR uygulamasına, sesin yüklendiği sunucuda bir ilke dosyası aramasını bildirir. İlke dosyası varsa ve yükleyen SWF dosyasının etki alanına erişim izni veriyorsa, SWF dosyası ses dosyasını yükleyebilir, Sound nesnesinin id3 özelliğine erişebilir ve yüklenen sesler için SoundMixer.computeSpectrum() yöntemini çağırabilir.

Sahip sanal alan, seslerin yerel çalınmasını denetler. Sesin çalınmasını başlatan uygulama veya nesne, sahip sanal alanını tanımlar.

SoundMixer.stopAll() yöntemi, şu kriterleri karşıladıkları sürece, tüm SoundChannel nesnelerinde geçerli olarak çalınan seslerin sesini kapatır:

  • Sesler, aynı sahip sanal alanındaki nesneler tarafından başlatılmıştır.

  • Sesler, SoundMixer.stopAll() yöntemini çağıran uygulamanın veya nesnenin etki alanına erişim izni veren bir ilke dosyasının bulunduğu bir kaynaktan gelir.

Ancak AIR uygulamasında, uygulama güvenlik sanal alanındaki içerik (AIR uygulamasıyla yüklenmiş içerik), bu güvenlik sınırlamalarıyla kısıtlandırılmaz.

SoundMixer.stopAll() yönteminin tüm seslerin çalınmasını durdurup durdurmayacağını öğrenmek için, uygulamanız SoundMixer.areSoundsInaccessible() yöntemini çağırabilir. Bu yöntem true değerini döndürürse, çalınan seslerin bazıları, geçerli sahip sanal alanının denetimi dışındadır ve SoundMixer.stopAll() yöntemi tarafından durdurulmaz.

SoundMixer.stopAll() yöntemi ayrıca harici dosyalardan yüklenmiş tüm sesler için oynatma kafasının devam etmesini durdurur. Ancak, Flash Geliştirme aracı kullanılarak FLA dosyalarına gömülen ve zaman çizelgesindeki karelere eklenen sesler, animasyon yeni bir kareye geçtiğinde tekrar çalınabilir.