0) { idx--; playVideo(); // Make sure the positionBar progress bar is visible. positionBar.visible = true; } } /** * Increase the current video index and begin playback of the video. */ private function playNextVideo():void { if (idx < (videosXML.length() - 1)) { // If this is not the last video in the playlist increase the // video index and play the next video. idx++; playVideo(); // Make sure the positionBar progress bar is visible. positionBar.visible = true; } else { // If this is the last video in the playlist increase the video // index, clear the contents of the Video object and hide the // positionBar progress bar. The video index is increased so that // when the video ends, clicking the backButton will play the // correct video. idx++; vid.clear(); positionBar.visible = false; } } /** * Click handler for each of the video playback buttons. */ private function buttonClickHandler(event:MouseEvent):void { // Use a switch statement to determine which button was clicked. switch (event.currentTarget) { case playButton : // If the play button was clicked, resume the video playback. // If the video was already playing, this has no effect. ns.resume(); break; case pauseButton : // If the pause button was clicked, pause the video playback. // If the video was already playing, the video will be paused. // If the video was already paused, the video will be resumed. ns.togglePause(); break; case stopButton : // If the stop button was clicked, pause the video playback // and reset the playhead back to the beginning of the video. ns.pause(); ns.seek(0); break; case backButton : // If the back button was clicked, play the previous video in // the playlist. playPreviousVideo(); break; case forwardButton : // If the forward button was clicked, play the next video in // the playlist. playNextVideo(); break; } } /** * Event handler for the timer object. This method is called every * PLAYHEAD_UPDATE_INTERVAL_MS milliseconds as long as the timer is running. */ private function timerHandler(event:TimerEvent):void { try { // Update the progress bar and label based on the amount of video // that has played back. positionBar.setProgress(ns.time, meta.duration); positionLabel.text = ns.time.toFixed(1) + " of " + meta.duration.toFixed(1) + " seconds"; } catch (error:Error) { // Ignore this error. } } ]]>