JavaScript Mit Object eingebundene .wav Datei wiedergeben

JBO_Zocker

Cadet 3rd Year
Registriert
März 2007
Beiträge
45
Schön guten Abend,

Ich hab folgendes Problem:
Ich möchte auf einer Webseite verschiedene Sounds einbinden. Und zwar habe ich mehrere Mouseover, zu denen jeweils ein wav Ton gespielt wird und bei klick soll wieder ein sound abgespielt werden. Hab jetzt ne funktion geschrieben, mit der ich die Sounds einzeln einbinde:

Code:
function preload(file){
    var embed=document.createElement('object');                
    embed.setAttribute('type','audio/wav');                
    embed.setAttribute('id',file);                
    embed.setAttribute('data', 'data/'+file);                
    embed.setAttribute('autostart', false);                
    embed.setAttribute('width', 0);                
    embed.setAttribute('height', 0);                

    document.getElementsByTagName('body')[0].appendChild(embed);
}

Was ich bisher nicht gefunden habe ist nun die Möglichkeit diesen Sound via Javascript wiederzugeben. Ich würde über die onclick und onmouseover attribute eine Funktion playSound(file) aufrufen, die einfach nur den jeweiligen Sound abspielt. Nur wie bekomme ich das hin?

Vielen Dank für eure Hilfe,

LG
JBO_Zocker
 
Wie wichtig sind dir Napfsülzen mit IE8 und ähnlichen Uralt-Rotz-Browsern? Wenn du jetzt sagst: gar nicht wichtig, dann ist die Antwort extrem einfach:
Schreib deine Seite in HTML5 und verwende den <audio>-Tag.
 
naja Du brauchst dazu einen Player, für möglichst universal wirst Du vermutlich auf eine Kombination aus Flash und HTML5 setzen müssen.
Es gibt Plugins/Addons die das automatisch für Dich erledigen.
 
Universell verfügbar ist das eine, veralteten Mist weiter durchzufüttern etwas ganz anderes. Je mehr Entwickler sich endlich von Browser-Fallbacks und -Hacks für IE<9 verabschieden, desto besser wird das Netz im Gesamten.
 
@Lawnmower

Welche Plugins/addons würdest du denn empfehlen? Da bei gibt es ja dann auch wieder Probleme bezüglich des Betriebssystems. Apple zum Beispiel ist da ja ziemlich intolerant, wenn der Player nicht Quicktime heißt...
 
Die Lösung hat er doch schon genannt: HTML5-Audio mit Flash-Fallback.
Alles andere funktioniert nicht oder nur unzureichend. <object> selbst kann nichts abspielen, es kann nur als Container für Plugin-Krams dienen oder nicht standardkonform als iframe missbraucht werden.

<audio>
<source src="blabla.mp3">
<source src="babla.ogg">
<object HIER FLASH VERLINKEN />
</audio>
 
also ohne lange jez zu suchen würde es sicher mit dem JWPlayer funktionieren (Achtung: Für komerzielle Einsätze brauchts eine Lizenz).
Da kann man bequem einfach die gewünschte Datei angeben die gespielt werden soll und der Player guckt dann selbst ob er jez Flash oder HTML5 einsetzt.
Und man kann den Player wunderbar per Javascript steuern.

Gibt aber sicher noch andere Möglichkeiten aber die findest Du bestimmt auch selbst ;)
 
Zurück
Oben