Die Fähigkeit Ihrer Anwendung, auf Sounddaten zuzugreifen, kann auf das Flash Player- oder AIR-Sicherheitsmodell eingeschränkt werden. Jeder Sound unterliegt den Einschränkungen zweier verschiedener Sicherheits-Sandboxen, der Sandbox für den Inhalt selbst (die Inhalts-Sandbox) und die Sandbox für die Anwendung oder das Objekt, das den Sound lädt und wiedergibt (die Eigentümer-Sandbox). Im Fall von AIR-Anwendungsinhalt, der in der Sicherheits-Sandbox der Anwendung ausgeführt wird, sind sämtliche Sounds, einschließlich der aus anderen Domänen geladenen, für Inhalt in der Sicherheits-Sandbox der Anwendung zugänglich. Für Inhalte in Sicherheits-Sandboxen von anderen Anwendungen gelten jedoch die gleichen Regeln wie für Inhalt, der in Flash Player ausgeführt wird. Weitere allgemeine Informationen zum Sicherheitsmodell von Flash Player und zur Definition einer Sandbox finden Sie unter
Sicherheit
.
Die Inhalts-Sandbox bestimmt, welche Sounddaten mit der
id3
-Eigenschaft oder der
SoundMixer.computeSpectrum()
-Methode aus dem Sound extrahiert werden können. Sie schränkt nicht das Laden oder die Wiedergabe der Sounddatei selbst ein.
Die Ursprungsdomäne der Sounddatei bestimmt die Sicherheitseinschränkungen der Inhalts-Sandbox. Allgemein gilt, wenn sich eine Sounddatei in der gleichen Domäne oder im gleichen Ordner wie die SWF-Datei der Anwendung oder dem Objekt befindet, die bzw. das den Sound lädt, hat die Anwendung bzw. das Objekt vollständigen Zugriff auf die Sounddatei. Stammt der Sound aus einer anderen Domäne als die Anwendung, kann er mit einer Richtliniendatei dennoch in die Inhalts-Sandbox gebracht werden.
Ihre Anwendung kann ein SoundLoaderContext-Objekt mit einer
checkPolicyFile
-Eigenschaft als Parameter an die
Sound.load()
-Methode übergeben. Durch Einstellen der
checkPolicyFile
-Eigenschaft auf
true
weisen Sie Flash Player bzw. AIR an, auf dem Server, von dem der Sound geladen wird, nach einer Richtliniendatei zu suchen. Wenn eine Richtliniendatei vorhanden ist und sie den Zugriff auf die Domäne der ladenden SWF-Datei erteilt, kann die SWF-Datei die Sounddatei laden, auf die
id3
-Eigenschaft des Sound-Objekts zugreifen und die
SoundMixer.computeSpectrum()
-Methode für geladene Sounds aufrufen.
Die Eigentümer-Sandbox steuert die lokale Soundwiedergabe. Die Eigentümer-Sandbox wird durch die Anwendung oder das Objekt definiert, die bzw. das die Wiedergabe eines Sounds startet.
Solange die folgenden Kriterien erfüllt sind, schaltet die
SoundMixer.stopAll()
-Methode alle Sounds in allen aktuell wiedergegebenen SoundChannel-Objekten stumm:
-
Die Sounds wurden von Objekten innerhalb der gleichen Eigentümer-Sandbox gestartet.
-
Die Sounds stammen von einer Quelle mit einer Richtliniendatei, die den Zugriff auf die Domäne der Anwendung oder des Objekts gestattet, die bzw. das die
SoundMixer.stopAll()
-Methode aufruft.
Jedoch unterliegt in einer AIR-Anwendung Inhalt, der in der Sicherheits-Sandbox der Anwendung ausgeführt wird (Inhalt, der mit der AIR-Anwendung installiert wird), nicht diesen Sicherheitseinschränkungen.
Um festzustellen, ob die
SoundMixer.stopAll()
-Methode tatsächlich die Wiedergabe aller Sounds stoppt, kann Ihre Anwendung die
SoundMixer.areSoundsInaccessible()
-Methode aufrufen. Wenn diese Methode den Wert
true
zurückgibt, befinden sich einige der wiedergegebenen Sounds außerhalb der Kontrolle der aktuellen Eigentümer-Sandbox und können somit nicht von der
SoundMixer.stopAll()
-Methode gestoppt werden.
Die
SoundMixer.stopAll()
-Methode stoppt darüber hinaus den Abspielkopf bei allen Sounds, die aus externen Dateien geladen wurden. Die Wiedergabe von Sounds, die in FLA-Dateien eingebettet sind und mithilfe des Flash-Authoring-Tools an Bilder in der Zeitleiste angefügt wurden, wird möglicherweise neu gestartet, wenn die Animation zu einem neuen Bild wechselt.