Danne VMedlem sedan aug. 20068 090 inlägg Har ett skript som spelar slumpvist valda låtar som ser ut så här:
<script type="text/javascript">
<!--
function PlayIt(mp3){
nummp3 = 4 //this needs to be the number of songs you have
day = new Date()
z = day.getTime()
y = (z - (parseInt(z/1000,10) * 1000))/10
x = parseInt(y/100*nummp3,10) + 1
//to add more songs follow the format below, add as many as you like
if (x == (1)){
mp3=("musik/1.mp3")
}
if (x == (2)){
mp3=("musik/2.mp3")
}
if (x == (3)){
mp3=("musik/3.mp3")
}
if (x == (4)){
mp3=("musik/0.mp3")
}
document.getElementById('music').innerHTML='<object width="215" height="45" '
+'classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" '
+'codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" '
+'standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject">'
+'<param name="url" value="'+mp3+'">'
+'<param name="uiMode" value="full">'
+'<param name="autoStart" value="true">'
+'<param name="loop" value="true">'
+'<param name="volume" value="100">'
+'<embed type="application/x-mplayer2" width="215" height="45" '
+'pluginspage="http://microsoft.com/windows/mediaplayer/en/download/" '
+'showcontrols="true" uiMode="mini" '
+'src="'+mp3+'" autostart="1" loop="true">'
+'<\/object>';
}
window.onload=PlayIt;
//-->
</script>
Frågor:
1. Hur kan man trigga scriptet med en vanlig <input name="button" type="button" id="button" /> istället för onLoad av sidan?
2. Jag vill ha två olika "playlists" som aktiveras av två olika buttons. Hur fixar man det?
Ugh! 2002 ringde och ville ha tillbaka sitt skript...
För det första är slumpningskoden något av det fulaste jag har sett. För det andra vill ingen använda en Windows Media Player-plugin i dagsläget. I dag är det Flash som gäller, eller möjligen HTML5+OGG om man vill vara på framkanten av utvecklingen.
Jag kan återkomma med kodexempel för en Flashbaserad spelare, men tills dess, svar på frågorna:
- Ta bort "window.onload=PlayIt;" och lägg till följande:
<input type="button" value="Spela" onclick="PlayIt();" />
<script type="text/javascript">
<!--
function PlayIt(playListIndex){
// Här anger du sökvägen till filerna
var playlists=[
["musik/1.mp3", "musik/2.mp3", "musik/3.mp3"],
["musik2/1.mp3", "musik2/2.mp3", "musik2/3.mp3"]
]
// Välj rätt spellista och känn av hur många filer som finns i listan
var thePlaylist = playlists[playListIndex];
var numSongs = thePlaylist.length;
// Slumpa en fil
var mp3 = thePlaylist[ parseInt(Math.random()*numSongs) ];
// Samma som innan
document.getElementById('music').innerHTML='<object width="215" height="45" '
+'classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" '
+'codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" '
+'standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject">'
+'<param name="url" value="'+mp3+'">'
+'<param name="uiMode" value="full">'
+'<param name="autoStart" value="true">'
+'<param name="loop" value="true">'
+'<param name="volume" value="100">'
+'<embed type="application/x-mplayer2" width="215" height="45" '
+'pluginspage="http://microsoft.com/windows/mediaplayer/en/download/" '
+'showcontrols="true" uiMode="mini" '
+'src="'+mp3+'" autostart="1" loop="true">'
+'<\/object>';
}
//-->
</script>
...
<input type="button" value="Spela från lista 1" onclick="PlayIt(0);" />
<input type="button" value="Spela från lista 2" onclick="PlayIt(1);" />
Obs! Räkningen börjar från 0. PlayIt(0) = den första angivna spellistan!