Ik heb een probleem waar ik maar niet uitkom en daarom vraag ik jullie hulp. Searches op google brachten me soms dichtbij maar was he tnet niet... er is bijzonder weinig informatie over te vinden helaas. Het zit namelijk zo: Ik ben bezig met het maken van een online videoplayer die windows media files afspeelt. De standaard controls wil ik echter niet hebben en ga ik voor custom controls. Deze zijn eenvoudig te maken met wat javascript, althans in Internet Explorer dus want in Firefox werkt het tot dusver niet.
Het script wat ik geschreven heb zet automatisch bij een onload een windows media player object neer in de pagina die benaderbaar zou moeten zijn met behulp van javascript. Het document telt een aantal linkjes met ieder een eigen functie: play, pauze, stop, fullscreen, etc. Later ga ik dit uitbreiden maar dat doet even niet terzake.
In Internet Explorer krijg ik de video gewoon te zien, zijn de gewone controls weg en werken de custom controls prima.
In Firefox krijg ik gelukkig ook de video te zien en zijn de standaard controls ook weg. Helaas werken de custom controls niet. Als ik bijvoorbeeld op stop klik krijg ik de volgende foutmelding:
Heel vreemd, daar horen volgens de documentatie van Microsoft de controls te zitten maar Firefox herkent ze niet. Terwijl video wel een geldig HTMLObjectElement teruggeeft.
Wie o wie weet hier meer over en heeft de goede oplossing?
Het script wat ik geschreven heb zet automatisch bij een onload een windows media player object neer in de pagina die benaderbaar zou moeten zijn met behulp van javascript. Het document telt een aantal linkjes met ieder een eigen functie: play, pauze, stop, fullscreen, etc. Later ga ik dit uitbreiden maar dat doet even niet terzake.
In Internet Explorer krijg ik de video gewoon te zien, zijn de gewone controls weg en werken de custom controls prima.
In Firefox krijg ik gelukkig ook de video te zien en zijn de standaard controls ook weg. Helaas werken de custom controls niet. Als ik bijvoorbeeld op stop klik krijg ik de volgende foutmelding:
code:
1
| TypeError: video.controls has no properties |
Heel vreemd, daar horen volgens de documentatie van Microsoft de controls te zitten maar Firefox herkent ze niet. Terwijl video wel een geldig HTMLObjectElement teruggeeft.
Wie o wie weet hier meer over en heeft de goede oplossing?
JavaScript:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
| var video; var debug = true; function initialize() { var html = "<object id=\"videoPlayer\" width=\"352\" height=\"264\" type=\"application/x-oleobject\" classid=\"CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6\">"; html += "<param name=\"uiMode\" value=\"none\" />"; html += "<param name=\"stretchToFit\" value=\"true\" />"; html += "<param name=\"enableContextMenu\" value=\"false\" />"; html += "</object>"; document.getElementById("playerContainer").innerHTML = html; video = document.getElementById("videoPlayer"); alert(video); alert(typeof(video)); start("test.wmv", true); } function start(file, init) { video.URL = file; if (init) { setVolume(80); } } function play() { try { video.controls.play(); } catch(e) { if (debug) { alert(e); } } } function pause() { try { video.controls.pause(); } catch(e) { if (debug) { alert(e); } } } function stop() { try { video.controls.stop(); } catch(e) { if (debug) { alert(e); } } } function setVolume(percent) { try { video.settings.volume = percent; } catch(e) { if (debug) { alert(e); } } } window.onload = function() { initialize(); } |
HTML:
1
2
3
4
| <div id="playerContainer"></div> <div id="playerControls"><a href="#" onclick="play();return false;">Play</a> | <a href="#" onclick="pause();return false;">Pause</a> | <a href="#" onclick="stop();return false;">Stop</a></div> |
[ Voor 9% gewijzigd door Verwijderd op 29-05-2006 22:11 ]