Musik über Javascript starten

sharK223

Mitglied
Guten Tag Comunity,

ich hab folgendes Problem:

Seit heute Morgen hänge ich schon an dem Problem das ich auf meiner Seite ein Mastersound-object einfügen wollte um es dann später über Javascript zu starten.
Das ganze sieht jetzt so aus:

HTML (zusammengeschnitten):
HTML:
<script type="text/javascript" src="/javascripts/inhaltswarnung.js"></script>

</head>

<body id="body" onLoad="inhaltswarnung()">

<embed src="/Files/Musik/Haeven Shall burn - EndZeit.mp3" hidden="true" autostart="true" loop="true" name="musik" mastersound></embed>

inhaltswarnung.js:
Code:
function ak()
{
var body = document.getElementById('body');
body.removeChild(blackbg);
body.removeChild(Message);
document.musik.play();
}

Wenn ihr mal auf meine Seite guckt, seht ihr eine System_Message. Wenn man auf den Button Akzeptieren drückt soll die Musik starten.
Das klappt aber nicht. Stelle ich das autoplay auf true läuft die musik aber. Mit .run(); hab ich es auch schon versucht...
Ausserdem finde ich dieses Mastersound-object wenig atraktiv da man QuickTime benötigt ..........

Vll. weis ja einer von euch wie ich es hinbekommen kann das wenn ich auf Akzeptieren Klicke die Musik startet (am besten ohne noch was runterladen zu müssen ^^ )

Mit hoffenden Grüßen
sharK
 
Ja gut stimmt^^.

Aber das Div-Tag war sowiso überflüssig^^.
Also danke für den hinweis aber das ist leider keine lösung....
hast du sonst noch ne idee? wie ich das machen kann?


MFG
 
Tja, das ist letztlich davon abhängig, welches Plugin in welchem Browser der Seitenbesucher überhaupt installiert hat, damit die genutzte play()-Methode des embeds-Objekt funktioniert - bei mir ist es, wie gerade erwähnt, auch nicht der Fall.

mfg Maik
 
Tja am besten ein Plugin welches bei den meisten Besuchern installiert ist. Wie läuft das denn bei YouTube?
Da werden vermutlich alle meine Besucher bereits gewesen sein.

Edit: Alternativ kann ich das <embed> ja auch nach dem Akzeptieren erstellen lassen. DIe Frage ist dann nur ob der Autostart dann auch funktioniert.
Und das mit dem Stoppen der Musik kann ich dann auch so lösen das das Objekt gelöscht wird.
Geht das?
 
Zuletzt bearbeitet:
YouTube setzt das Flash-Plugin voraus.

Dies wäre ein denkbarer Ansatz, da doch recht verbreitet, sowie betriebssystem-/browserunabhängig :)

XSPF Web Music Player nutzt dieses beispielsweise.

mfg Maik
 
Hi,

ansonsten eventuell Starten und Stoppen durch Clonen, Manipulieren und anschliessendes Austauschen des embed-Elements.

Beispiel:
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<script type="text/javascript">
<!--
function toggleSound(blnStart){
  objEmb = document.getElementsByTagName("embed")[0].cloneNode(true);
  objEmb.autostart = (blnStart)? 1 : 0;
  objEmb.setAttribute("autostart", ((blnStart)? 1 : 0));
  document.getElementsByTagName("embed")[0].parentNode.replaceChild(objEmb, document.getElementsByTagName("embed")[0]);
}
//-->
</script>
</head>
<body>
<div style="width: 0; height: 0; overflow: hidden;"><embed src="YnT - Mean Streak.mp3" type="application/x-mplayer2" autostart="0" loop="true" width="0" height="0"></div>
<a href="#" onclick="toggleSound(true); return false;">start</a>
<a href="#" onclick="toggleSound(false); return false;">stop</a>
</body>
</html>

Ciao
Quaese
 
Hey Leute danke für eure Zahlreiche hilfe ^^ .

Habs letzten endes doch alleine hinbekommen. Meine alternative Idee war wohl doch nicht so schlech ^^ .

Hier der Code:
Code:
function ak()
{
var body = document.getElementById('body');
body.removeChild(blackbg);
body.removeChild(Message);

var player = document.createElement("embed");
player.setAttribute("src", "/Files/Musik/Haeven Shall burn - EndZeit.mp3");
player.setAttribute("hidden", "true");
player.setAttribute("autostart", "true");
player.setAttribute("loop", "true");
player.setAttribute("name", "musik");
var body = document.getElementById('body');
body.appendChild(player);
}

Die funktion wird ausgeführt wenn man auf Aktzeptieren drückt
Alle klar danke nochmal ;)

Mit freundlichen Grüßen
sharK
 
Dann solltest du aber auch dem Seitenbesucher die Möglichkeit bieten, die Musik stoppen zu können.

Ist schließlich nicht jedermanns Sache, was da einem als Lauschgift kredenzt wird - ansonsten wird die Seite auch ganz schnell wieder geschlossen, um Ruhe einkehren zu lassen :)

mfg Maik
 
Zurück