First post so forgive me if this is the wrong place for this question.
What I’m trying to figure out how to do is be able to create a sort of streaming music playlist for RealPlayer. I want to be able to create a collection of songs encoded into seperate RealMedia files (.rm’s) and then on my website have a single link that will stream them in the order I want. I’m basically trying to do a cheap simulation of something like ShoutCast where I can create the song files seperately, maybe create a couple voice files to insert here and there and then decide what order I want them to be in and then create a file which when clicked on will launch the RealPlayer program and then stream the files to the user in the order I tell it to.
Is this possible(?), and if so, can someone please tell me where I can find more information on how to achieve this.
Many media types (Real Audio/Video, MP3, Windows Media) require a separate file,
called a metafile, to tell the server "send this as streaming media, don't just
start a download." Metafiles are sometimes also called playlists.
Media and metafiles have to be put into the public/ folder of your site. The
Media file is the file you want to stream, the metafile is just a simple text
file. Macintosh users should be aware to save it with Unix linefeeds. This can
be done with the BBEdit utility: save as: options: Unix linefeeds.
MPEG video files (.mpg, .mpeg, .mpa) stream themselves by default, without the
need for a metafile. This doesn't give you the ability to set up playlists,
however. There's a new metafile spec (.mxu) for MPEG video playlists; it's not
very widely supported, but you can give it a try if you like. Syntax is the same
as for .m3u audio metafiles.
RAM File (Realmedia streaming format) :
----------------------------------------
Name of metafile to create: example.ram
Content of metafile: http://www.my_site.org/example.rm
The link in your refering HTML file:[CODE]<A HREF="example.ram">Streaming Sample</A>[/CODE]
[b][i]To make multiple-clip playlists, just put the links to your files on separate lines in the RAM file.[/b][/i] [/QUOTE]
function PlaySong(url){
document.Player.filename = url;
document.Player.play();
}
function GetSelection (selSelectObject){
var data=selSelectObject.options[selSelectObject.selectedIndex].value
PlaySong(data);
}
function PlaySong(url){
document.Player.filename = url;
document.Player.play();
}
></Embed>
</center>
</object>
</td>
<td>
<input name="button4" type="button" onClick="PlaySong('song4.mp3')" value=" Play 4 ">
<input name="button5" type="button" onClick="PlaySong('song5.mp3')" value=" Play 5 ">
<input name="button6" type="button" onClick="PlaySong('PlayList.wax')" value="PlayAll"></td>
</tr>
</table>
</Body>
var setDefaultErrImg="BlankMsg.jpg";
var setDefaultErrTxt="Blank";
var empty = 0;
var Nx = 0;
nextimage = new Image();
nextimage.src = " ";
var userdelay = "";
var tick = ""
var msg = " ";
var count = 0;
var savecount = 0;
var imgcount = 0;
function haltshow(){
if (savecount == 0){savecount = count;
count = imgcount};
}
function displayit(){
window.open(nextimage.src,"SlideShow","toolbar=0,status=1,width=640,height= 480,top=0,left=0").status = "This is " + count + " of " +imgcount;
}
function getnextimage() {
if (count < imgcount){++count};
nextimage.src = document.images[count-1].src;
displayit();
if (count < imgcount){countdown()};
}
function countdown(){
if (tick > 0){msg = tick} else{msg = "Fetching Next Image..."};
if (tick >= 0){tick = tick -1
window.status = msg;
if (savecount > 0){tick = userdelay -1;runshow()}
else{setTimeout("countdown()", 1000)}; }
else{tick = userdelay -1;
runshow(); }
}
function runshow() {
if (count < imgcount){getnextimage()};
if (savecount > 0){window.status="The Slideshow Is Paused at Image "
+savecount + " of " +imgcount + "."}
if (count == imgcount){convert();
if (savecount > 0){count=savecount-1;
savecount=0
window.open("pausemsg.html","SlideShow");}
else{count=0
window.status="The Slideshow Is Complete."};
}
}
function initShow(ImgCnt,Blank,Dn){
imgcount = ImgCnt-Blank;
userdelay = Dn;
tick = userdelay-1;
convert();
runshow();
}
function convert() {
var inputColl = document.all.tags("INPUT");
if (inputColl!=null && inputColl.length>0) {
var range = inputColl[0].createTextRange();
if (savecount > 0){range.text = "Resume"}
else{range.text ="Start Slideshow"};
}
}
function FillBlank(n){
document.images[n].src = setDefaultErrImg;
document.images[n].setAttribute("alt",setDefaultErrTxt);
++empty
}
function statusmsg(){
window.status="Done"
}
function getInterval(){
if (document.IGroup.interval[0].checked=="1"){Nx = document.IGroup.interval[0].value};
if (document.IGroup.interval[1].checked=="1"){Nx = document.IGroup.interval[1].value};
if (document.IGroup.interval[2].checked=="1"){Nx = document.IGroup.interval[2].value};
if (document.IGroup.interval[3].checked=="1"){Nx = document.IGroup.interval[3].value};
if (document.IGroup.interval[4].checked=="1"){Nx = document.IGroup.interval[4].value};
if (document.IGroup.interval[5].checked=="1"){Nx = document.IGroup.interval[5].value};
if (document.IGroup.interval[6].checked=="1"){Nx = document.IGroup.interval[6].value};
if (document.IGroup.interval[7].checked=="1"){Nx = document.IGroup.interval[7].value};
if (document.IGroup.interval[8].checked=="1"){Nx = document.IGroup.interval[8].value};
}
function startShow(){
getInterval()
initShow(PixCount,empty,Nx);
}
0.1.9 — BETA 5.18