PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sound on Events oder auch javascript-gesteuert



BlueJay
22-11-2005, 15:05
Hallo Leute,

ich bastele mal wieder an einem Spiel, diesnal mit Sound.
IE ist gegessen, bgsound arbeitet einfach vorbildlich!
Konqueror und Firefox unter gentoo machen da Probleme:

HTML-Teil:

<embed name="quaak" src="quaak.wav"
autostart="false" loop=1 hidden="true" mastersound>

Javascript-Teil:

function zaund(t)
{ if (document.all) document.all.iequaak.src=t; // IE
else if (document.quaak.play) // Konqueror
{ document.quaak.src=t;
document.quaak.play();
}
}


Konqueror-Probleme, Plugin: kmplayer:
1. die onload-Funktion im Body wird nicht ausgeführt (kann ich verschmerzen)
2. lokal versagt der Konqueror sporadisch das Script (Javascript wird nicht ausgeführt oder stoppt beim 1. Sound, remote läuft alles durch.
3. die neue wav-Datei wird nicht angenommen ( document.quaak.src=t; ), das alte und im embed eingebundene WAV-File wird abgespielt.
4. trotz hidden="true" wird ein kleiner Rest des Plugins angezeigt, das ist auch nicht mit CSS-z-Indices auf die unterste Ebene zu verbannen.

Versuche:
loop="1" durch loop="false" ersetzt, keine Änderung!
Habe dann 3 embedded Sounds im HTML-Teil angelegt, da lief allerdings im Konqueror javascriptmäßig gar nichts mehr. Man konnte nur noch durch geschicktes Klicken in eins der Plugins den Sound abspielen.


Firefox/Linux-Problem, Helper: xmms:

Das angegebene WAV-File wird beim Laden einmal abgespielt, Reaktion auf Events/ Javascript-Anweisungen sind nicht vorhanden.

Tja, dachte ich, stellst du Firefox ( Gecko/20050920) auch auf kmplayer um, aber da bin ich kläglich gescheitert, weil nur eine Helper-Appli für den Acrobat-Reader verzeichnet war und nirgendwo ein Knopf zum Hinzufügen :( .

Wer kann mir weiterhelfen?

Datei:
http://www.gamecraft.de/froesche3/index_a.htm

anda_skoa
22-11-2005, 17:20
Den Browsertest halte ich für nicht so gut, KHTML kann auch document.all

Besser wäre vermutlich auf das DOM Interface zu checken (getElementById oder so ähnlich) und als "else" den IE anzunehmen.

Beim HTML Fragment scheint das embed Element nicht geschlossen zu sein

Ciao,
_

BlueJay
22-11-2005, 18:10
Den Browsertest halte ich für nicht so gut, KHTML kann auch document.all

Der Konqueror 3.4.1 macht einen Bogen um document.all, bei Opera/gentoo läuft wenigstens der document.all-Weg problemlos, auch wenn man nichts hört.



Besser wäre vermutlich auf das DOM Interface zu checken (getElementById oder so ähnlich) und als "else" den IE anzunehmen.

Sagt man so...
Die Variante hatte ich auch mal drin, da hat der IE6 etwas gehustet.
Nun habe ich 2 HTML-Docs, bei denen das Sound-Modul jeweils verschieden benamst ist. Damit gibt es keine Konfusion mit Möchtegern-IEs :) .

[

Beim HTML Fragment scheint das embed Element nicht geschlossen zu sein

Das hab ich so in etlichen Beispielen gefunden:
http://www.webreference.com/js/column20/embed.html
Klar sind die schon alt, aber man findet kaum was Neueres, und NN7 ist immerhin schon die Mozilla5-Engine.

Hängt man ein </embed> dran, ändert sich das Verhalten nicht, Konqueror nimmt remote immer noch das "voreingestellte" Soundfile und nibbelt lokal ab.
(index_a.htm hat jetzt </embed>, Firefox und Opera quaken aber wieder nur beim Laden)

so long,
BlueJay

BlueJay
23-11-2005, 15:16
Hab mich mal weiter im Web umgetan und unsere Prinzipien verraten (kein Plugin erforderlich)

Die derzeitige Lösung basiert auf einem Flash-Plugin und einem JS-Interface, das ich hier gefunden habe.
http://www.schillmania.com/projects/soundmanager/

Funzt hervorragend mit Firefox/gentoo/Flash-Plugin

so long,
BlueJay