A Flash Developer Resource Site

Results 1 to 3 of 3

Thread: Quick question with xml video playlist

  1. #1
    Junior Member
    Join Date
    Sep 2008
    Posts
    3

    Quick question with xml video playlist

    my video playlist is working perfect.. just have one question... when a user clicks on a video from the playlist, it plays then repeats itself.. i'd like it to jump automatically to the next video in the playlist.... does anybody know what adjustments i would need to make in the code below to make this happen?

    thanks in advance..
    kind regards,
    adam

    :: Code Begins ::

    var nc:NetConnection = new NetConnection();
    nc.connect(null);

    var ns:NetStream = new NetStream(nc);

    theVideo.attachVideo(ns);

    ns.setBufferTime(10);

    ns.onStatus = function(info) {
    if(info.code == "NetStream.Buffer.Full") {
    bufferClip._visible = false;
    }
    if(info.code == "NetStream.Buffer.Empty") {
    bufferClip._visible = true;
    }
    if(info.code == "NetStream.Play.Stop") {
    ns.seek(0);

    }
    }

    pauseButton.onRelease = function() {
    ns.pause();
    pauseButton._visible = false;
    playButton._visible = true;
    }

    playButton._visible = false; {
    }

    playButton.onRelease = function() {
    ns.pause();
    pauseButton._visible = true;
    playButton._visible = false;
    }

    rewindButton.onRelease = function() {
    ns.seek(0);
    }

    this.createEmptyMovieClip("vFrame",this.getNextHig hestDepth());
    vFrame.onEnterFrame = videoStatus;

    var amountLoaded:Number;
    var duration:Number;

    ns["onMetaData"] = function(obj) {
    duration = obj.duration;
    }

    function videoStatus() {
    amountLoaded = ns.bytesLoaded / ns.bytesTotal;
    loader.loadbar._width = amountLoaded * 208.9;
    loader.scrub._x = ns.time / duration * 208.9;
    }

    var scrubInterval;

    loader.scrub.onPress = function() {
    vFrame.onEnterFrame = scrubit;
    this.startDrag(false,0,this._y,208,this._y);
    }

    loader.scrub.onRelease = loader.scrub.onReleaseOutside = function() {
    vFrame.onEnterFrame = videoStatus;
    this.stopDrag();
    }

    function scrubit() {
    ns.seek(Math.floor((loader.scrub._x/208)*duration));
    }

    var theMenu:ContextMenu = new ContextMenu();
    theMenu.hideBuiltInItems();
    _root.menu = theMenu;

    var item1:ContextMenuItem = new ContextMenuItem("::::: Video Controls :::::",trace);
    theMenu.customItems[0] = item1;

    var item2:ContextMenuItem = new ContextMenuItem("Play / Pause Video",pauseIt,true);
    theMenu.customItems[1] = item2;

    var item3:ContextMenuItem = new ContextMenuItem("Replay the Video",restartIt);
    theMenu.customItems[2] = item3;

    var item4:ContextMenuItem = new ContextMenuItem("© 2005 Lee Brimelow",trace,true);
    theMenu.customItems[3] = item4;

    function pauseIt() {
    ns.pause();
    }

    function stopIt() {
    ns.seek(0);
    ns.pause();
    }

    function restartIt() {
    ns.seek(0);
    }

    _root.createEmptyMovieClip("vSound",_root.getNextH ighestDepth());
    vSound.attachAudio(ns);

    var so:Sound = new Sound(vSound);

    so.setVolume(100);

    mute.onRollOver = function() {
    if(so.getVolume()== 100) {
    this.gotoAndStop("onOver");
    }
    else {
    this.gotoAndStop("muteOver");
    }
    }

    mute.onRollOut = function() {
    if(so.getVolume()== 100) {
    this.gotoAndStop("on");
    }
    else {
    this.gotoAndStop("mute");
    }
    }

    mute.onRelease = function() {
    if(so.getVolume()== 100) {
    so.setVolume(0);
    this.gotoAndStop("muteOver");
    }
    else {
    so.setVolume(100);
    this.gotoAndStop("onOver");
    }
    }

    var vlist:XML = new XML();
    vlist.ignoreWhite = true;

    vlist.onLoad = function() {
    var videos:Array = this.firstChild.childNodes;
    for(i=0;i<videos.length;i++) {
    videoList.addItem(videos[i].attributes.desc,videos[i].attributes.url);
    }

    ns.play(videoList.getItemAt(0).data);
    videoList.selectedIndex = 0;
    }

    var vidList:Object = new Object();

    vidList.change = function() {
    ns.play(videoList.getItemAt(videoList.selectedInde x).data);
    pauseButton._visible = true;
    playButton._visible = false;
    }

    videoList.addEventListener("change",vidList);

    vlist.load("calls.xml");

    videoList.setStyle("selectionColor",0xCCCCCC);
    videoList.setStyle("textSelectedColor",0x333333);
    videoList.setStyle("rollOverColor",0x6AB2FF);
    videoList.setStyle("color",0x333333);
    videoList.setStyle("backgroundColor",0xFFFFFF);

  2. #2
    Senior Member
    Join Date
    Nov 2001
    Posts
    1,145
    This is called when the video reaches the end:

    ns.onStatus = function(info) {

    with info.code equal to "NetStream.Play.Stop" so the below is true


    if(info.code == "NetStream.Play.Stop") {
    ns.seek(0);

    }

    so take out the seek(0) and put whatever code in there.

  3. #3
    Junior Member
    Join Date
    Sep 2008
    Posts
    3
    would you happen to know what code would go there?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center