Flash CS3 und höher
ActionScript 3.0 und höher
Die Technik bezieht sich auf:
Siehe User Agent Support for Flash für allgemeine Informationen zur Unterstützung durch Benutzeragenten.
Das Ziel dieser Technik ist es, Menschen, die blind sind oder anderweitig Probleme damit haben, das Video in audio-visuellem Material zu sehen, die Möglichkeit zu geben, auf das Material zuzugreifen. Mit dieser Technik wird eine Beschreibung des Videos über eine Audiodeskription bereitgestellt, die in die Dialoglücken des audio-visuellen Materials passt.
In diesem Beispiel wird die FLVPlayback-Komponente benutzt, um einen Video-Player zu erstellen. Eine individuell erstellte Klasse genannt „AudioDescriptions“ wird hinzugefügt, um das Abspielen der erweiterten Audiodeskriptionen zu verwalten. Diese Klasse stellt „Event-Listener" bereit, die auf Cue-Points in den Medien hören, die durch den Anbieter der Audiodeskription identifiziert wurden. Wenn diese Cue-Points erreicht werden, wird eine mp3-Datei abgespielt, welche die entsprechende Beschreibung enthält. Die aufgezeichneten Beschreibungen wurden zeitlich so angepasst, dass sie in die Dialoglücken des Film passen.
Audiodeskriptionen werden standardmäßig aktiviert. Eine Schaltfläche (die selber barrierefrei sein muss, damit sie andere Erfolgskriterien erfüllt) wird unterhalb des Video-Players bereitgestellt; sie erlaubt es dem Benutzer, Audiodeskriptionen an- oder auszuschalten.
Code-Beispiel:
package {
import fl.video. *;
import flash.events. *;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLRequest;
import flash.display.Sprite;
public class AudioDescriptions extends Sprite {
private var channel: SoundChannel = new SoundChannel;
private var myPlayer: FLVPlayback;
private var _enabled: Boolean = true;
private var _toggleBtn: Button;
private var snd: Sound = new Sound();
public function AudioDescriptions() {
// point myPlayer to the FLVPlayback component instance on the stage,
// which should be loaded with a valid video source.
myPlayer = my_FLVPlybk;
// add cue points. When any of these are reached, the
// MetadataEvent.CUE_POINT event will fire
myPlayer.addASCuePoint(8.35, "ASpt1");
myPlayer.addASCuePoint(23.23, "ASpt2");
enable();
enable_AD_btn.addEventListener(MouseEvent.CLICK, handleBtnClick);
}
private function handleBtnClick(e) {
_enabled = ! _enabled;
if (! _enabled) {
disable();
enable_AD_btn.label = "Enable Audio Descriptions";
} else {
enable();
enable_AD_btn.label = "Disable Audio Descriptions";
}
}
public function enable() {
// set up an event handler which will be called each time a cue point is reached
myPlayer.addEventListener(MetadataEvent.CUE_POINT, cp_listener);
}
public function disable() {
// remove the event handler called each time a cue point is reached, so
// that audio description is disabled.
myPlayer.removeEventListener(MetadataEvent.CUE_POINT, cp_listener);
}
private function cp_listener(eventObject: MetadataEvent): void {
snd = new Sound();
//recreate sound object as it can only load one mp3 file
//check to see which cue point was reached
switch (eventObject.info.name) {
case "ASpt1":
snd.load(new URLRequest("sphere.mp3"));
//create a new Sound object, and load the appropriate mp3
channel = snd.play();
// play the audio description, and assign it to the SoundChannel object
break;
case "ASpt2":
snd.load(new URLRequest("transfrm.mp3"));
channel = snd.play();
break;
}
}
}
}
Das Ergebnis kann man in der funktionierenden Version von „Playing descriptions when cue points are reached“ (Abspielen von Beschreibungen, wenn Cue-Points erreicht werden) sehen. Die Quelle von „Abspielen von Beschreibungen, wenn Cue-Points erreicht werden“ steht zur Verfügung.
Audiodeskriptionen können auch über eine zusätzliche Audiospur bereitgestellt werden, welche die gleiche Länge hat wie das primäre Medium und simultan dazu ist, aber nur Geräusche für die Segmente, enthält, bei denen eine Audiodeskription abgespielt werden muss und zu anderen Zeiten still ist. Ein Flash-Autor kann einen Umschalter bereitstellen, um diese zusätzliche Audiospur an- und auszuschalten, abhängig von den Vorlieben des Zuhörers. Wenn die zusätzliche Audiospur aktiviert wird, gibt es zwei parallele Audiospuren; eine, bei der es sich um das primäre Audio handelt und eine zweite, die nur die Audiodeskription enthält. Es ist nach wie vor nötig sicherzustellen, dass sich die Audiodeskription und das primäre Audio nicht auf eine Art und Weise überlappen, die das Verständnis erschwert. Diese Methode erreicht das gleiche Ergebnis wie die in Beispiel 1 benutzte Methode, wird aber möglicherweise aufgrund der Art der Audiodeskriptions-Dateien, die dem Flash-Autor zur Verfügung gestellt werden, ausgewählt.
Wenn Flash-Inhalte Video mit einer Audio-Tonspur enthalten, bestätigen Sie, dass:
Audiodeskriptionen bereit gestellt wurden, indem getrennte Audiodateien benutzt wurden.
Eine Schaltfläche bereitgestellt wird, die es den Benutzern erlaubt, die Audiodeskriptionen zu aktivieren oder zu deaktivieren
#1 und #2 sind wahr.
Wenn dies eine ausreichende Technik für ein Erfolgskriterium ist, dann bedeutet das Scheitern an diesem Testverfahren nicht zwangsläufig, dass das Erfolgskriterium nicht auf irgendeine andere Art und Weise erfüllt wurde, sondern nur, diese Technik nicht erfolgreich implementiert wurde und nicht benutzt werden kann, um die Konformität zu erklären.