| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Tom Registriert seit: Nov 2005
Beiträge: 11
| Sound lade Problem
ich habe mir ein kleines Script geschrieben, das eine Sounddatei als Stream laden und abspielen soll. Hierbei soll, falls es nicht geladen werden konnte konnte, das nächste Stück abgespielt werden. Code: // Verzeichnis zu der XML-Datei
var XMLIndexPath:String = "http://localhost/sound/";
// Dateiname der Indexdatei der einzelnen Gallerien
var IndexFilename:String = "index.xml";
// die Beschreibung der einzelnen Sounddateien
var music:Array = new Array();
var soundControl:Sound = new Sound;
var soundID:Number = -1;
function playNextSound() {
playSound(getNextSoundID());
}
function playSound(nr:Number) {
if (nr >= 0 && nr < music.length) {
soundID = nr;
createSoundControl(music[soundID].filename);
}
}
function createSoundControl(soundfile:String) {
if (soundControl <> null) {
delete soundControl;
}
soundControl = new Sound;
soundControl.onLoad = function(success) {
if (!success) {
music[soundID].success = false;
playNextSound();
} else {
trace("Laden erfolgreich!");
}
}
soundControl.onSoundComplete = function() {
trace("Sound zu ende gespielt");
playNextSound();
}
soundControl.loadSound(soundfile, true);
}
function getNextSoundID() {
var nextID = soundID;
do {
nextID++;
if (nextID >= music.length) nextID = 0;
} while(nextID <> soundID && music[nextID].success==false);
if (nextID == soundID) nextID = -1;
trace("nächste ID = " + nextID);
return nextID;
}
function loadSounds() {
trace("lade Sound XML Datei...");
var xml:XML = new XML();
// Störende Leerzeichen ignorieren
xml.ignoreWhite = true;
// XML-Datei einlesen
xml.onLoad = function(success) {
if (success) {
var ref = this.firstChild;
// speichern der Informationen im Array
for (var i = 0; i<ref.childNodes.length; i++) {
music[i] = [];
music[i].sounds = ref.childNodes[i].firstChild.nodeValue;
music[i].filename = XMLIndexPath + ref.childNodes[i].attributes.filename;
music[i].success = true;
}
// Buttons erzeugen
if (music.length > 0) {
playSound(0);
}
} else {
trace("Sound XML Indexdatei nicht geladen");
}
}
xml.load(XMLIndexPath + IndexFilename);
}
loadSounds(); Code: <?xml version="1.0" encoding="UTF-8"?> <SOUNDS> <SOUND filename="0.mp3"/> <SOUND filename="0.mp3"/> <SOUND filename="0.mp3"/> <SOUND filename="0.mp3"/> <SOUND filename="1.mp3"/> <SOUNDS> Sieht einer von euch evtl. einen Fehler? Bzw. kennt einer von euch eine Bezugsquelle eines Actionscripts, das wie meins arbeitet? Thomas Geändert von Thomas G. Meyer (13-03-2006 um 21:52 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |