Home Tutorials Forums Articles Blogs Movies Library Employment Press

Go Back   ActionScript.org Forums > Members List

Navkiran Navkiran is offline

Registered User

Visitor Messages

Showing Visitor Messages 1 to 1 of 1
  1. Navkiran
    09-18-2008 08:00 AM
    Navkiran
    Hi,
    i have created a mp3 player using AS 2.0 that controls the playlist using xml .Everything is working properly . My only issue is that i want the music to stream instead of waiting until the song is fully downloaded to play . This player works fine locally but in browser it creates problem when streaming from server . I have tried a lot ...have searched everywhere ...can u please tell me how to add the streaming / buffering functionality to this player (same as you see in youtube ....want the same streaming functionality) ..

    Here's my whole code :

    stop();
    songtime._alpha = 0;
    var songs:Array = new Array();
    var curtrack:Number = 0;
    var playingsong:Sound = new Sound();
    if (_root.playlist == undefined || _root.playlist == "") {
    _root.playlist = "playlist.xml";
    }
    var playlistXml:XML = new XML();
    playlistXml.ignoreWhite = true;
    playlistXml.load(_root.playlist);
    playlistXml.onLoad = function() {
    loadSongs();
    loadplaylistbox();
    playpause.gotoAndStop(2);
    playpause.playpausebutton.onPress = function() {
    playpause.gotoAndStop(1);
    loadSong(curtrack);
    songtime._alpha = 100;
    };
    if (_root.autostart == "false") {
    toggleplaypause();
    }
    };
    volumebar.volumeslider.startDrag(true,0,volumebar. volumeslider._y,30,volumebar.volumeslider._y);

    function loadSongs() {

    for (songIndex=0; songIndex<playlistXml.childNodes[0].childNodes[0].childNodes.length; songIndex++) {
    var songdata:Object = new Object();
    for (songNode=0; songNode<playlistXml.childNodes[0].childNodes[0].childNodes[songIndex].childNodes.length; songNode++) {
    switch (playlistXml.childNodes[0].childNodes[0].childNodes[songIndex].childNodes[songNode].nodeName) {
    case "creator" :
    songdata.artist = playlistXml.childNodes[0].childNodes[0].childNodes[songIndex].childNodes[songNode].childNodes[0].nodeValue;
    break;
    case "title" :
    songdata.title = playlistXml.childNodes[0].childNodes[0].childNodes[songIndex].childNodes[songNode].childNodes[0].nodeValue;
    break;
    case "location" :
    songdata.location = playlistXml.childNodes[0].childNodes[0].childNodes[songIndex].childNodes[songNode].childNodes[0].nodeValue;
    break;
    }
    }
    songs[songIndex] = songdata;


    }
    }
    function loadSong(track) {
    playingsong = new Sound();
    playingsong.loadSound(songs[track].location,true);
    playingsong.start(0);
    updatevolume();
    playingsong.onSoundComplete = function() {

    playpause.gotoAndStop(2);
    playpause.playpausebutton.onPress = function() {
    playpause.gotoAndStop(1);
    loadSong((curtrack+1)%(songs.length));
    };
    };

    playpause.playpausebutton.onPress = function() {
    toggleplaypause();
    };
    songdisplay.text = songs[track].artist+" - "+songs[track].title;

    eval("playlistbox.playlistitemcontainer.playlistit em"+curtrack+".playlistitemhighlight")._alpha = 4;
    eval("playlistbox.playlistitemcontainer.playlistit em"+track+".playlistitemhighlight")._alpha = 20;
    curtrack = track;

    }
    function loadplaylistbox() {
    for (songIndex=0; songIndex<playlistXml.childNodes[0].childNodes[0].childNodes.length; songIndex++) {
    playlistbox.playlistitemcontainer.attachMovie("pla ylistitem","playlistitem"+songIndex,playlistbox.pl aylistitemcontainer.getNextHighestDepth(),{_x:0, _y:15*songIndex});
    eval("playlistbox.playlistitemcontainer.playlistit em"+songIndex+".playlistitemtext").text = songs[songIndex].artist+" - "+songs[songIndex].title;
    eval("playlistbox.playlistitemcontainer.playlistit em"+songIndex).songindex = songIndex;

    }
    }
    playpause.playpausebutton.onPress = function() {
    toggleplaypause();
    };
    function toggleplaypause() {
    if (playpause._currentframe == 1) {
    playpause.gotoAndStop(2);
    playpause.curpos = playingsong.position;
    playingsong.stop();
    } else {
    playpause.gotoAndStop(1);
    playingsong.start(playpause.curpos/1000,0);
    }
    playpause.playpausebutton.onPress = function() {
    toggleplaypause();
    };
    }
    onEnterFrame = function () {
    if (songdisplay.movingright) {
    songdisplay.hscroll -= 10;
    if (songdisplay.hscroll<=0) {
    songdisplay.movingright = false;
    }
    } else {
    songdisplay.hscroll += 10;
    if (songdisplay.hscroll>=songdisplay.maxhscroll) {
    songdisplay.movingright = true;
    }
    }
    if (!draggingslider) {
    progressslider._x = (playingsong.position/playingsong.duration)*182+86;
    if (progressslider._x == 0) {
    progressslider._x = 86;
    }
    }
    if (draggingplaylistscroller) {
    updateplaylistscroll();
    }
    if (draggingvolmeslider) {
    updatevolume();
    }
    tempsongtime = "";
    if (Math.floor(playingsong.position/60000) == 0) {
    tempsongtime += "00";
    } else {
    tempsongtime += Math.floor(playingsong.position/60000);
    }
    tempsongtime += ":";
    if (Math.floor((playingsong.position/1000)%60)<10) {
    tempsongtime += "0";
    }
    tempsongtime += Math.floor((playingsong.position/1000)%60);
    tempsongtime += "/";
    if (Math.floor(playingsong.duration/60000) == 0) {
    tempsongtime += "0";
    } else {
    tempsongtime += Math.floor(playingsong.duration/60000);
    }
    tempsongtime += ":";
    if (Math.floor((playingsong.duration/1000)%60)<10) {
    tempsongtime += "0";
    }
    tempsongtime += Math.floor((playingsong.duration/1000)%60);
    songtime.text = tempsongtime;
    //trace(Math.floor(playingsong.position/60000));
    //if(Math.floor(playingsong.position/1000)%60)
    //songtime.text=Math.floor(playingsong.position/1000)%60+"/"+Math.floor(playingsong.duration/1000)%60;
    };
    progressslider.onPress = function() {
    draggingslider = true;
    progressslider.startDrag(true,86,progressslider._y ,263.8,progressslider._y);
    };
    progressslider.onRelease = progressslider.onReleaseOutside=function () {
    progressslider.stopDrag();
    playingsong.start(((progressslider._x-86)/182)*playingsong.duration/1000,0);
    playpause.gotoAndStop(1);
    playpause.playpausebutton.onPress = function() {
    toggleplaypause();
    };
    draggingslider = false;
    };
    progressbar.onPress = function() {
    playingsong.start(((_xmouse-61)/182)*playingsong.duration/1000,0);
    playpause.gotoAndStop(1);
    playpause.playpausebutton.onPress = function() {
    toggleplaypause();
    };
    };
    volumebar.onPress = function() {
    draggingvolmeslider = true;
    volumebar.volumeslider.startDrag(true,0,volumebar. volumeslider._y,47,volumebar.volumeslider._y);
    };
    volumebar.onRelease = volumebar.onReleaseOutside=function () {
    draggingvolmeslider = false;
    volumebar.volumeslider.stopDrag();
    updatevolume();
    };
    function updatevolume() {
    playingsong.setVolume((volumebar.volumeslider._x/47)*100);
    }
    previoussong.onPress = function() {
    loadprevioussong();
    };

    function loadprevioussong() {
    var loadtrack = (curtrack-1)%(songs.length);
    if (loadtrack<0) {
    loadtrack = songs.length-1;
    }
    loadSong(loadtrack);
    }
    nextsong.onPress = function() {
    loadnextsong();
    };
    function loadnextsong() {
    var loadtrack = (curtrack+1)%(songs.length);
    loadSong(loadtrack);
    }
    playlistscroller.onPress = function() {
    draggingplaylistscroller = true;
    playlistscroller.startDrag(true,317.5,85,317.5,185 );
    };
    playlistscroller.onRelease = playlistscroller.onReleaseOutside=function () {
    draggingplaylistscroller = false;
    playlistscroller.stopDrag();
    };
    playlistscrollup.onPress = function() {
    playlistscroller._y = Math.max(85, playlistscroller._y-10);
    updateplaylistscroll();
    };
    playlistscrolldown.onPress = function() {
    playlistscroller._y = Math.min(185, playlistscroller._y+10);
    updateplaylistscroll();
    };
    var mouseListener:Object = new Object();
    mouseListener.onMouseWheel = function(delta:Number) {
    playlistscroller._y = Math.min(185, Math.max(85, playlistscroller._y-delta));
    updateplaylistscroll();
    };
    Mouse.addListener(mouseListener);
    playlistscrollbar.onPress = function() {
    playlistscroller._y = Math.min(185, Math.max(85, _ymouse));
    updateplaylistscroll();
    };
    function updateplaylistscroll() {
    playlistbox.playlistitemcontainer._y = -((playlistscroller._y-85)/101)*(playlistbox.playlistitemcontainer._height-149);
    }

    var myMenu = new ContextMenu();


    var menuplaypause = new ContextMenuItem("Play / Pause", toggleplaypause);
    menuplaypause.separatorBefore = true;
    myMenu.customItems.push(menuplaypause);
    /*var menuprevioustrack = new ContextMenuItem("Previous Song", loadprevioussong);
    myMenu.customItems.push(menuprevioustrack);
    var menunexttrack = new ContextMenuItem("Next Song", loadnextsong);
    myMenu.customItems.push(menunexttrack);*/
    myMenu.hideBuiltInItems();
    _root.menu = myMenu;

    Please help me out!!!!

    Thanks
    Kiran

Statistics

Total Posts
Visitor Messages
General Information
  • Last Activity: 09-25-2008 09:26 AM
  • Join Date: 09-18-2008
  • Referrals: 0

All times are GMT. The time now is 09:05 PM.

///
Follow actionscriptorg on Twitter

 


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Ad Management plugin by RedTyger
Copyright 2000-2013 ActionScript.org. All Rights Reserved.
Your use of this site is subject to our Privacy Policy and Terms of Use.