![]() |
sound-button in html
Hallo Weblinge!
Ich brauche in einer Webseite einen Button der Sound (mid/wav) per Klick an- bzw aus-schaltet! Kann mir wer ein Beispiel geben bzw Links auf Beispiele posten? Es sollte sowohl unter IE als auch NS funktionieren Vielen Dank, Dilli.nger |
anschalten ist kein problem, ausschalten wird nur über flash funktionieren.
infos zu sound in html-pages: http://www.htmlgoodies.com/tutors/embed.html gruss, snowman ps.: überlege dir wirklich gut, ob du deine besucher mit sound nerven willst. |
gebe snow recht
überleg dir das, sound kommt nicht immer besonders gut bei den surfern an.
anyway, sollest du es doch nicht bleiben lassen wollen, dann rate ich dir, daß du 2 links erstellst und die anker mit einem funktionsaufruf in js versiehst (das ganze geht rein mit html und js gut, flash ist dazu ned notwendig, hab sowas schon gemacht, aber die reaktionen waren ned unbedingt alle positiv, also nochmals, überleg, ob du das wirklich willst). die funktion soll in einen unsichtbaren layer, den du vorher in html definiert hast (muß nur 1x1px groß sein) HTML-quelltext reinschreiben, für den fall, daß du musi hören willst, also fürn ie, ns6 und modzilla: document.getElementById("musiklayer").innerHTML="< html><body><embed SRC='music.wav' hidden='true' volume='100' loop='true'></body></html>"; und für ns4x: document.layers["musiklayer"].innerHTML="<html><body><embed SRC='music.wav' hidden='true' volume='100' loop='true'></body></html>"; wiest einen solchen layer erstellst, weißt vielleicht schon, wenn nicht: <div id="musiklayer" style="position:absolute; left:-20px; top:-20px; width:1px; height:1px; visibility:hidden;"></div> wennst nix hören willst, schreibst einfach <html><body></body></html> in den layer rein und die gschicht hat sich. sollte dich das ganze in der praxis interessieren, so verweise ich auf meine schon total vergammelte hp. sieh dir dort mal die navi an, ich habe die musik per pulldownmenu gesteuert, funzt nur fürn ie, weil ich damals zu faul war, fürn ns auch zu programmieren. aber das prinzip sollte dir nun, spätestens, wennst den qt von dort siehst, klar sein. wenns noch fragen gibt, nur zu. ;) |
Vielen Dank!
will nicht nerven mit sound, daher soll der knopf ja auch zum AUSschalten geeignet sein @raistlin: bravo! funzt super! jetzt brauch ich nur mehr entsprechenden code für Netscape :look: ciao Dilli.nger |
ns-layer
sprichst mit document.layers["name"].innerHTML an, sonst ist da glaube ich nix anders. eventuell könnte es auch sein, da die hierachie bei ns anders als bei ie ist, daß du document.layers["name"].document.innerHTML schreiben mußt, aber das ist nur eine vermutung.
|
hi, dillinger,
hab mal eine interessante lösung für dein sound-problem in html gesehen - ohne layer. das ganze kannst du ganz einfach mit einem frameset umsetzten. <frameset rows="1,*>.... für den 1px-frame erstellst du zwei seiten - die eine mit hintergrundmusik (zb.: mitsound.htm), die andere ohne (zb.: ohnesound.htm). dann erstellst du im hauptframe zwei buttons/links, die dann die 1px-frame-seiten austauschen. sound on = sound on sound off = sound off halbwegs verständlich - müsste so hinhauen ;). cu - the dreamer |
@dreamer
das ist zwar auch eine lösung (du müßtest dann aber im frameset noch die frameborder deaktivieren, damit man den 1px-frame ned sieht), aber 1. ist sie ziemlich unprofessionell, weil du 3 zusätzliche (frameset, musik-html, nichtmusik-html) html-files brauchst und 2. hat sie einen gewaltigen bug (darum hab ich mir das mit dem layer überlegt, hatte vorher auf meiner hp auch einen unsichtbaren frame, also deine lösung). wenn man nämlich die musik einschaltet, somit das musik-html in den unsichtbaren frame geladen wird und man danach auf den "back"-button des browsers klickt, kommt man nicht wirklich dorthin zurück, wo man vorher im sichtbaren frame war, weil statt dessen das musik-html aus dem unsichtbaren frame rausgeladen und das vorherige nichtmusik-html dort wieder reingeladen wird. somit müßte man 2x auf "back" klicken, damit man wirklich dorthin kommt, wo man im eigentlichen, sichtbaren frame zuvor gewesen ist, denn erst beim 2. mal wird der schritt VOR dem reinladen des musik-htmls in den unsichtbaren frames rückgängig gemacht, dem surfer fällt der unsichtbare frame aber nicht auf, er wird sich nur ärgern, weil der "back"-button nicht gleich das zur folge hat, was er sich erwartet (das gilt übrigens natürlich auch für alle händisch eingefügten "back-buttons", die mit "javascript:history.back()" versehen wurden). ich rate also dringend von dieser lösung ab!
|
@RaistlinMajere
das ist ein argument, das lass ich mir einreden. hab die frameset-lösung selbst noch nie angewandt, daher auch keinen praktischen erfahrungen. danke für die aufklärung, hatte ich nicht bedacht. ich vermeide überhaupt hintergrundmusik (ausser in flash-movies), find ich sehr nervend (ladezeit). cu - the dreamer |
ladezeiten
sind ned amal so schlimm, kommt halt drauf an, welches musikformat du verwendest, aber es lassen sich mit audioproggis sogar waves auf ein maß komprimieren, das zum downloaden zumutbar ist und sich ned amal so schlecht anhört.
dasses nervt, ist halt eine andere angelegenheit, darum würde ich, wenn ich schon sound auf einer hp einbinde, unbedingt die möglichkeit bieten, diesen abzuschalten. |
mittels javascript gibt es eine lösung, dass man auch mit frames wieder auf die richtige seite zurückkommt.
stimme aber grundsätzlich trotzdem mit raistlin überein. gruss, snowman |
@snowman
und wie sieht diese lösung aus? interessiert mich.
|
da gibt es mehrere:
1.: have the last frame loaded look to see if the other frame contains a matching page: <body onLoad="if (top.otherframe.location.href.indexOf('matchingpag e.html') ==-1) top.otherframe.location='matchingpage.html'"> 2.: Instead of loading a new framing file each time you have to change more than one frame, try implementing the following script in the <HEAD> of your HTML document. <SCRIPT language="JavaScript"> <!-- function framer(loc) {parent.main.location.href = loc} //--> </SCRIPT> The framer function will load a specified location to the frame named "main" (The frame name is set in the original framer file). Changing two frames at once can then be handled by inserting a link into the <BODY> of the document. link This will load 'file1.html' into the current frame (the frame wherein the script is installed), and load 'file2.html' into the frame named 'main'. You may easily alter the script to include more frames. Remember that these features require that your visitor's browser supports javascripting. aber ersteres ist viel cooler. gruss, snowman |
Re
Am besten ist, wenn du eine Flash anim einbaust.
Mit der geht das am einfachsten, und der Aufwand ist auch nicht so gross. |
hm - wenn mans neu lernen muß ist schon ein Aufwand :eek:
womit erstellt man sowas am besten? (freeware bevorzugt! ;-) |
ich merks ned
weil ich chello hab, habe mir aber von 56k-usern sagen lassen, daß flash ziemlich zum laden braucht, das wäre vielleicht auch etwas, über das man sich gedanken machen sollte, bevor mans einsetzt.
|
re
Tjo oba des mitn Sound auf ana HP is eigentlich störend, i sog des von mir aus. Wenn i auf a hp geh, und dort is a musik, des stöhrt mi echt, weil i meißtens meine eigenen lieder höhre. I was donn ned, ob des so gut is mit ana Music, ausser es sind soundeffekte auf einer Flashpage.
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 03:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag