Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Osadzanie odtwarzacza we Flash
Forum PHP.pl > Forum > Po stronie przeglądarki > HTML \ XHTML
Kas
Proszę o pomoc:

  1. <object type="application/x-shockwave-flash" data="./players/audio-player.swf" id="audioplayer1" height="24" width="290"><param name="movie"
  2. value="audio-player.swf" /><param name="FlashVars" value="playerID=audioplayer1&soundFile=./files/barka.mp3" /><param name="quality" value="medium" /><param name="menu" value="false" /><param name="wmode" value="transparent"
  3. /></object>


Powyższy kod działa bez zarzutu w Mozilla Firefox 3.6 na Ubuntu 10.04 (system natywny) i Windows Vista SP1 (maszyna wirtualna). Niestety, w Microsoft Internet Explorer (różne wersje w wirtualnych maszynach) za cholerę nie chce. Co robię źle?
Damonsson
Flasha najlepiej umieszczać przez JS według mnie. Pewnie wtedy znikną problemy z IE.
SWFObject.js

Chyba, że ktoś zna lepszą metodę? Bo sam jestem ciekaw, jak najlepiej osadzać flash, może się mylę,
Kas
Właśnie mnie zależy na niestosowaniu JS. Poza tym kod powinien być maksymalnie prosty i krótki (to ważne). Czy w powyższym jest jakiś błąd składniowy, którego od tej porze nie widzę?
t4keda
A próbowałeś wzorować się na kodzie z youtube? Poza object użyty jest jeszcze embed

  1. <object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/t8ot0n1IYb0&hl=pl_PL&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/t8ot0n1IYb0&hl=pl_PL&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>
Kas
Niestety, mimo licznych prób nie udało mi się ustalić przyczyny problemu.

Strona znajduje się pod tym adresem:

http://niebowsieci.pl/

Strona robiona na zamówienie. Chcę jak najszybciej zamknąć sprawę, ale odtwarza audio nie działa w Microsoft Internet Explorer. Proszę o jakieś sugestie.
Kas
Już wydawało mi się, że wszystko jest dobrze. Mam taki kod:

  1. <!--[if IE]> -->
  2. <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
  3. codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
  4. width="290" height="24">
  5. <param name="movie" value="./players/audio-player.swf" />
  6. <param name="FlashVars" value="playerID=audioplayer1&soundFile=./files/file_1.mp3" />
  7. <param name="menu" value="false" />
  8. <param name="quality" value="medium" />
  9. <param name="wmode" value="transparent" />
  10. </object>
  11.  
  12. <!-- <![endif]-->
  13. <!--[!if IE]> -->
  14. <object type="application/x-shockwave-flash"
  15. data="./players/audio-player.swf" width="290" height="24">
  16. <param name="FlashVars" value="playerID=audioplayer1&soundFile=./files/file_1.mp3" />
  17. <param name="menu" value="false" />
  18. <param name="quality" value="medium" />
  19. <param name="wmode" value="transparent" />
  20. <p>Zainstaluj lub włącz wtyczkę Adobe Flash.</p>
  21. <!-- <![endif]-->

Niestety, w Safari odtwarzacz jest osadzony dwa razy. Co z tym zrobić? sad.gif
Crozin
A zauważyłeś może, że masz dwa razy kod odtwarzacza wrzucony. To co stricte dla IE powinno być komentarzem (patrz: w listingu powyżej powinno być na szaro). Masz źle zrobiony komentarz warunkowyy if IE.
erix
Nie dziwię się, skoro zamykasz komentarz:
  1. <!--[if IE]>
  2. According to the conditional comment this is Internet Explorer<br />
  3. <![endif]-->
Kas
Teraz mam taki kod:

  1. <!--[if IE]>
  2. <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
  3. codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
  4. width="290" height="24">
  5. <param name="movie" value="./players/audio-player.swf" />
  6. <param name="FlashVars" value="playerID=audioplayer1&soundFile=./files/file2.mp3" />
  7. <param name="menu" value="false" />
  8. <param name="quality" value="medium" />
  9. <param name="wmode" value="transparent" />
  10. </object>
  11. <![endif]-->
  12. <!--[!if IE]> -->
  13. <object type="application/x-shockwave-flash"
  14. data="./players/audio-player.swf" width="290" height="24">
  15. <param name="FlashVars" value="playerID=audioplayer1&soundFile=./files/file2.mp3" />
  16. <param name="menu" value="false" />
  17. <param name="quality" value="medium" />
  18. <param name="wmode" value="transparent" />
  19. <p>Zainstaluj lub włącz wtyczkę Adobe Flash.</p>
  20. <!-- <![endif]-->

Niestety w IE pojawiają się takie znaki --> na stronie. Czemu

Edycja: Dodam, że Safari i Firefox jest ok.
erix
Znalazłem gdzieś wczoraj, bo potrzebowałem; to działa na 100%:
  1. <!--[if !IE]> -->
  2. <object type="application/x-shockwave-flash"
  3. data="movie.swf" width="300" height="135">
  4. <!-- <![endif]-->
  5.  
  6. <!--[if IE]>
  7. <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
  8. codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
  9. width="300" height="135">
  10. <param name="movie" value="movie.swf" />
  11. <!--><!--dgx-->
  12. <param name="loop" value="true" />
  13. <param name="menu" value="false" />
  14.  
  15. <p>This is <b>alternative</b> content.</p>
  16. <!-- <![endif]-->
Kas
Niestety, to rozwiązanie nie działa poprawnie. Z nieznanego mi powodu przy taki osadzaniu nie działa przezroczystość w odtwarzaczu.

Jak poprawić mój obecny kod?
Crozin
A widzisz tam gdzieś
Kod
<param name="wmode" value="transparent" />
Odpowiedzialne za tą przeźroczystość? Nie? To dodaj.
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.