bedankt voor de reacties de term "pollen" kende ik inderdaad nog niet
maar in ieder geval werkt het met playstate best aardig, ik heb tot nu toe dit:
code:
1
2
3
4
5
6
7
8
9
10
11
| function removePlayer(oldPlayer) {
var holder = document.getElementById('playerHolder');
var oldPlayer = document.getElementById(oldPlayer);
holder.removeChild(oldPlayer);
}
function ReplaceVideo() {
if (document.getElementById("MediaPlayer").PlayState == 10) {
removePlayer('MediaPlayer');}
else {
setTimeout('ReplaceVideo()',1000);}
} |
Ik werk met een streaming server en kennelijk gaat de playstate aan het einde van het filmpje over in 10 (reconnecting). Ik controleer hier op door de functie ReplaceVideo() tegelijk met het filmpje te laten draaien. Als dit het geval is dan wordt middels de functie removePlayer het player object verwijderd. Ik kan nu een plaatje tonen door het plaatje alvast op de achtergrond te hebben staan, zodat het plaatje te zien is zo gauw het player object weg is.
Echter twee problemen met deze opzet:
- Ik wil graag dat het plaatje interactief is, de bezoeker moet op het plaatje kunnen klikken en dan naar een andere pagina worden gelinkt. Dit regel ik als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| <a class="link" href="doel.html">
<div id="playerHolder">
<object id="MediaPlayer" width="320" height="240" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject">
<param name="URL" value="../../video.php?V=<?=$G?>&L=<?=$L?>&C=<?=$Code?>" />
<PARAM NAME="stretchToFit" VALUE="0">
<param name="ShowControls" value="0" />
<param name="AnimationAtStart" value="0" />
<param name="ShowStatusBar" value="0" />
<param name="ShowDisplay" value="0" />
<param name="Autostart" value="1" />
<param name="TransparentAtStart" value="0" />
<param name="uiMode" value="none" />
<embed
name = "MediaPlayer"
stretchToFit = "0"
type = "application/x-mplayer2"
pluginspage = "http://www.microsoft.com/Windows/MediaPlayer/download/default.asp"
FileName = "../../video.php?V=<?=$G?>&L=<?=$L?>&C=<?=$Code?>"
autostart = "1"
showcontrols = "0"
showdisplay = "0"
showstatusbar = "0"
width = "320"
height = "240"
></embed>
</object>
</div>
</a> |
zo gauw het object weggehaald wordt dan wordt de div interactief. De link staat er de hele tijd al, maar werkt immers toch niet als er een video in staat, bij klikken op de video wordt de klik afgevangen door media player. Op zich wordt de div inderdaad interactief na het verdwijnen van het object. Er kan op geklikt worden alleen: er komt geen handje wanneer ik over de div ga met de muis!!!! Ik kan dus wel klikken, maar de muispointer laat dit niet zien als ik er overheen ga. Is hier een oplossing voor??
- Tweede probleem: de hele opzet werkt niet in FF, omdat ik er niet in slaag via JS de playstate op te vragen in FF. Zowel document.getElementById("MediaPlayer").PlayState als document.MediaPlayer.PlayState geven het resultaat undefined...