[HTML/JS] Dźwięk po wciśnięciu obrazka

Witam!

Mam pytanie : Czy jest możliwe zagranie jakiegoś dźwięku po wciśnięciu obrazka? Próbowałem już przez document.appendChild dołączyć element embed lub object (i do pliku mp3 i swf mającego ramkę dźwiękową)…

Proszę o rozwiązanie,

Z góry dziękuję…

Przed paru laty gdy dominowała tylko jedna przeglądarka to było bardzo proste i wystarczyła tylko jedna komenda:

(działa i dzisiaj ale tylko pod IE)

Dzisiaj gdy jest w użyciu wiele przeglądarek nie jest to już takie proste i nie ma uniwersalnej komendy bo trzeba pisać pod konkretne odtwarzacze.

Np. pod WMP wygląda to tak:

classid="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"

standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject">







pluginspage='http://microsoft.com/windows/mediaplayer/en/download/'

        id='mediaPlayer' name='mediaPlayer' displaysize='4' autosize='-1' 

        bgcolor='darkblue' showcontrols="true" showtracker='-1' 

        showdisplay='0' width="320" height="45"

        src="plik.mp3" autostart="true" designtimesp='5311' loop="true">

[/code]

Jeżeli jednak ktoś nie ma zainstalowanego WMP to i tak dźwięku nie usłyszy.

Pozostaję wówczas skorzystanie z jakiegoś bardziej uniwersalnego odtwarzacza napisanego we flashu.

Jeżeli ktoś nie miał by zainstalowanego flasha to też nic nie usłyszy. :frowning:

A teraz mamy coś takiego:

Musi być nagłówek HTML5 i przeglądarka musi obsługiwać HTML5

:arrow: Więcej

Rzecz w tym:

Rozwiązanie flashowe byłoby ok, gdyby nie to, że ten obrazek jest logiem… a nie mam zamiaru rozkazywać ściągać innym równocześnie SWF’a i loga w PNG… 30kb wolniej ;/

Próbowałem skryptów tego typu (#sound to pusty div, z display:none)

var sound = document.createElement('object');

sound.setAttribute('type', 'application/x-shockwave-flash');

sound.setAttribute('data', 'sound.swf');

sound.setAttribute('width', '1');

sound.setAttribute('height', '1');

document.getElementById('sound').appendChild(sound);

To samo z embed tylko jedyny atrybut src… Druga wersja tworzyła to samo, ale poprzez polecenie:

document.getElementById('sound').innerHTML = '';

Żadne nie odtwarza dźwięku, chociaż się ładuje!

Mamy???

Chyba żartujesz. Po 15 latach po Microsofcie coś tam upichcili i tak aby nie działało nade wszystko pod IE.

(Nie wystarczy html5 jeszcze potrzebna jest słuszna przeglądarka, a zatem jest podobnie jak z bgsound.)

Trzeba ci tłumaczyć dlaczego tego nikt nie używa i nie będzie używał, chyba, że jedynie słuszne przeglądarki osiągną pełne zwycięstwo, na co liczą. :frowning:

Pod najnowszą Operą tylko pliki .wav można odtwarzać, niezły dowcip. :slight_smile: Chyba wszyscy teraz rzucą się na Safari lub Chrome, znów się można uśmiać. :slight_smile:

Dziwię się tylko dlaczego w tej walce firm tak chętnie biorą udział niektórzy zwykli internauci. Mają udziały w tych firmach? Z naiwności, czy też po prostu tak dla idei ?

Dodane 05.12.2009 (So) 22:30

O ile się orientuję, to każdy co choć trochę interesuje się muzą czy filmami w necie ma zainstalowany odtwarzacz flash, ale i WMP bo bez nich ani rusz.

Spróbuj użyć tego: http://www.schillmania.com/projects/soundmanager2/