die leejoo site doet zeer aan m'n ogen, en echt bijzonder vind ik het allemaal niet. Die 538 stream is gewoon een simpele embed.
Tegenwoordig ondersteunen zowel IE als Mozilla echter de object tag. Voor IE zou een simpele onzichtbare mediaplayer (6.4) die je met javascript kunt besturen er ongeveer zo uitzien:
HTML:
1
2
3
4
5
6
| <object id="bgmusic" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
type="application/x-oleobject" height="0" width="0">
<param name="filename" value="deuntje.mid">
<param name="autostart" value="false">
<param name="loop" value="false">
</object> |
deze kan je nu als volgt met javascript besturen:
JavaScript:
1
2
3
4
5
| //starten
document.getElementById('bgmusic').Play();
//stoppen
document.getElementById('bgmusic').Stop(); |
er zijn natuurlijk nog zat andere mogelijkheden wb scripting en parameters die je mee kan geven; op
MSDN is daar zat over te vinden, ook voor de latere versies mediaplayer.
Bovenstaande werkt overigens ook in NS7.1 onder windows omdat daarbij de
ActiveX plugin default meegeinstalleerd wordt; voor Mozilla onder windows is deze dus ook te downloaden en te installeren.
Wil je echt crossbrowser, dan zal je dus moeten kijken of de browser een plugin beschikbaar heeft die jouw media af kan spelen. In bijvoorbeeld Mozilla kan je dat op 2 manieren doen: plugin sniffing, of mimetype sniffing.
De quicktime plugin kan bijvoorbeeld ook midi-files afspelen, dus je kan mbv javascript kijken of de quicktime plugin beschikbaar is en daar de juiste object-tag voor schrijven (met type="video/quicktime"), of je kan kijken of Mozilla de audi/midi mimetype ondersteund, en dat als type opgeven in je object-tag (in de hoop dat de bijbehorende plugin ook de Play() en Stop() en andere methods ondersteund).
In ieder geval ontkom je niet aan een hoop javascript om zoveel mogelijk crossbrowser te werk te gaan, en zelfs dan is er geen garantie dat het ten allen tijde goed werkt.
Embed is echter verouderd en maakt voor zover ik weet geen deel uit van de w3c HTML4 standaard (of is in ieder geval deprecated), dus dient vermeden te worden. Een voordeel van de object tag is dat je kan nesten; een browser zou dan net zolang in de tree door moeten gaan totdat hij een object tag met type tegenkomt die hij ondersteund; helaas werkt IE daar niet aan mee (behalve dan bij het opnemen van een embed als fallback binnen een object - iets dat je dus ook veel tegenkomt).
Crossbrowser geluid is m.i. nog een jungle; werkend geluid in elke browser een utopie met de wildgroei aan plugins die elk weer andere methoden en properties kennen...
[
Voor 5% gewijzigd door
crisp op 21-08-2003 23:20
]