Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Odtwarzanie plików mp3
Forum PHP.pl > Forum > Przedszkole
Szkrabel
W moim słowniku wraz z pojawieniem się obcego słówka odtwarza się jego wymowa z pliku mp3.
  1. document.getElementById("slowo_obce").innerHTML='<embed src="'+plikAudio+'" height=20 width=18>&nbsp;&nbsp;' + slowa[0][nr_slowa];

Problem w tym, że przy jednych plikach wszystko działa bez zarzutu, a przy innych odtwarza się dopiero po najechaniu myszką na fragment widocznego odtwarzacza QuickTime. Czy to znaczy, że pliki są różnie kodowane, czy coś innego?
AlexDeLarge
A jak ja wcale nie mam QuickTime? Nie możesz stosować taga <audio />, lub wykorzystać jakiegoś flasha, np. http://flash-mp3-player.net/ ?
Szkrabel
W sumie racja. Skorzystałem z flasha i pod operą jest ok, ale IE w ogóle nie reaguje. Kod poniżej:
  1. t=' <object id="player" type="application/x-shockwave-flash" data="../wtyczki/player_mp3_maxi.swf" width="25" height="20"><param name="bgcolor" value="#660000" /><param name="FlashVars" value="mp3='+plikAudio+'&amp;width=25&amp;autoplay=1&amp;showslider=0" /></object>';
  2. document.getElementById("slowo_obce").innerHTML=t+'&nbsp;&nbsp;' + slowa[0][nr_slowa];
thek
Bo IE różnie sobie radzi z object... Dla niego najczęściej używa się embed jeszcze. Zresztą sam poczytaj to się dowiesz, że dla dostępności pod wszystkimi przegladarkami stosuje się mix object+embed
Szkrabel
No i poczytałem. Wszędzie piszą, że EMBED powinno być zawarte w OBJECT. No i spróbowałem:
  1.  
  2. t=' <object id="player" type="application/x-shockwave-flash" data="../wtyczki/player_mp3_maxi.swf" width="25" height="20"><param name="FlashVars" value="mp3='+plikAudio+'&amp;width=25&amp;autoplay=1&amp;showslider=0" /><embed src='+plikAudio+' height=25 width=20 /></object>';
  3. document.getElementById("slowo_obce").innerHTML=t+'&nbsp;&nbsp;' + slowa[0][nr_slowa];

No i w Operze działa, a w IE bez zmian - biała plama w miejscu odtwarzacza.
erix
Bo dla IE musisz podać CLSID wtyczki, a nie type.

Poguglaj; IE używa właśnie OBJECT.
thek
Może ten artykuł Ci pomoże?
http://www.alistapart.com/articles/byebyeembed/
Szkrabel
Siedzę już nad tym drugi dzień i IE8 mnie olewa. Kombinuję różne wersje, ale przy żadnej flashowy odtwarzacz nie działa (biała plama). Próbowałem tak:
  1. t=' <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="../wtyczki/player_mp3_maxi.swf" width="25" height="20"><param name="movie" value="'+plikAudio+'" /></object>';

a nawet tak:
  1. t=' <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="25" height="20"><param name="movie" value="'+plikAudio+'" /></object>';

i jeszcze w kilku innych konfiguracjach i nic.
erix
http://kb2.adobe.com/cps/415/tn_4150.html

I przestań brodzić w bagnie, bo lecisz na pałę miast pomyśleć i poszukać.
Szkrabel
Masz rację erix - trochę spanikowałem. Wziąłem to, co działa z propozycji Alexa i zacząłem po trochu zmieniać. I znalazłem błąd, który popełniałem: w parametrze "movie" zamiast nazwy pliku trzeba było wpisać nazwę odtwarzacza. Teraz wygląda tak:
  1. t=' <object id="player" type="application/x-shockwave-flash" data="../wtyczki/player_mp3_maxi.swf" width=25> <param name="movie" value="../wtyczki/player_mp3_maxi.swf" /> <param name="FlashVars" value="mp3='+plikAudio+'&amp;width=25&amp;autoplay=1&amp;showslider=0" /> </object>';
i działa w Operze i IE.
Dziękuję Wam za cierpliwość.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.