<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Coverflow HD Video Player</title>
	<atom:link href="http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/</link>
	<description>Open Source Thought</description>
	<lastBuildDate>Fri, 30 Jul 2010 19:54:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Pascal</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-9069</link>
		<dc:creator>Pascal</dc:creator>
		<pubDate>Thu, 11 Feb 2010 18:18:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-9069</guid>
		<description>Hi, great work!&lt;br&gt;&lt;br&gt;you have these variables in the main.as:&lt;br&gt;&lt;br&gt;could you please explain what they are and how they change?&lt;br&gt;		private var planeAngle:Number=50;  //70&lt;br&gt;		private var planeSeparation:Number=380;  //200&lt;br&gt;		private var planeOffset:Number=120;  //60&lt;br&gt;		private var planeZOffset:Number=120;  //60&lt;br&gt;		private var selectPlaneZ:Number=-360; //-180&lt;br&gt;		private var planeZSeparation:Number=60; //10&lt;br&gt;&lt;br&gt;I tried to figure it out, by changing them but I do not get it.&lt;br&gt;Do you know?&lt;br&gt;Thanks.</description>
		<content:encoded><![CDATA[<p>Hi, great work!</p>
<p>you have these variables in the main.as:</p>
<p>could you please explain what they are and how they change?<br />		private var planeAngle:Number=50;  //70<br />		private var planeSeparation:Number=380;  //200<br />		private var planeOffset:Number=120;  //60<br />		private var planeZOffset:Number=120;  //60<br />		private var selectPlaneZ:Number=-360; //-180<br />		private var planeZSeparation:Number=60; //10</p>
<p>I tried to figure it out, by changing them but I do not get it.<br />Do you know?<br />Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcus</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-8988</link>
		<dc:creator>Marcus</dc:creator>
		<pubDate>Sun, 10 Jan 2010 22:08:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-8988</guid>
		<description>I can&#039;t seem to play any of my movies. I am using the right format but maybe I am declairing wrong.&lt;br&gt;&lt;br&gt;Right now I&#039;ve declaired my videoclips in &quot;videoPathinfo.xml and the videofiles are directed in the same folder.. Is this right?&lt;br&gt;&lt;br&gt;Thank You! / Marcus</description>
		<content:encoded><![CDATA[<p>I can&#39;t seem to play any of my movies. I am using the right format but maybe I am declairing wrong.</p>
<p>Right now I&#39;ve declaired my videoclips in &#8220;videoPathinfo.xml and the videofiles are directed in the same folder.. Is this right?</p>
<p>Thank You! / Marcus</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stephen Weber</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-8982</link>
		<dc:creator>Stephen Weber</dc:creator>
		<pubDate>Thu, 07 Jan 2010 21:19:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-8982</guid>
		<description>.FLV or .MP4 are standards.</description>
		<content:encoded><![CDATA[<p>.FLV or .MP4 are standards.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcus</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-8981</link>
		<dc:creator>Marcus</dc:creator>
		<pubDate>Thu, 07 Jan 2010 20:30:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-8981</guid>
		<description>Hello!&lt;br&gt;&lt;br&gt;What format does the videos have to be in? It&#039;s not working for me with a .flv -file. Is it supposed to be in .mov?&lt;br&gt;&lt;br&gt;/ Marcus</description>
		<content:encoded><![CDATA[<p>Hello!</p>
<p>What format does the videos have to be in? It&#39;s not working for me with a .flv -file. Is it supposed to be in .mov?</p>
<p>/ Marcus</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: opsanustao</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-8946</link>
		<dc:creator>opsanustao</dc:creator>
		<pubDate>Mon, 14 Dec 2009 22:16:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-8946</guid>
		<description>Look at the Flash player interface used at dailyfilm.tv:  Play any video, and notice what happens if you &quot;scrub&quot; the video ahead or back.  It is somewhat like the Coverflow HD Video Player effect, except that it&#039;s displayed over the video.  It&#039;s a very convenient and intuitive way to navigate through a video that you may want to review parts of, and saves space by not using a separate area for the coverflow image display.&lt;br&gt;&lt;br&gt;Twice, I have emailed dailyfilm to ask how this is done, but I never get a response. &lt;br&gt;&lt;br&gt;Is there a way to get this effect and behavior from Coverflow HD Video Player?</description>
		<content:encoded><![CDATA[<p>Look at the Flash player interface used at dailyfilm.tv:  Play any video, and notice what happens if you &#8220;scrub&#8221; the video ahead or back.  It is somewhat like the Coverflow HD Video Player effect, except that it&#39;s displayed over the video.  It&#39;s a very convenient and intuitive way to navigate through a video that you may want to review parts of, and saves space by not using a separate area for the coverflow image display.</p>
<p>Twice, I have emailed dailyfilm to ask how this is done, but I never get a response. </p>
<p>Is there a way to get this effect and behavior from Coverflow HD Video Player?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: opsanustao</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-8872</link>
		<dc:creator>opsanustao</dc:creator>
		<pubDate>Mon, 14 Dec 2009 15:16:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-8872</guid>
		<description>Look at the Flash player interface used at dailyfilm.tv:  Play any video, and notice what happens if you &quot;scrub&quot; the video ahead or back.  It is somewhat like the Coverflow HD Video Player effect, except that it&#039;s displayed over the video.  It&#039;s a very convenient and intuitive way to navigate through a video that you may want to review parts of, and saves space by not using a separate area for the coverflow image display.&lt;br&gt;&lt;br&gt;Twice, I have emailed dailyfilm to ask how this is done, but I never get a response. &lt;br&gt;&lt;br&gt;Is there a way to get this effect and behavior from Coverflow HD Video Player?</description>
		<content:encoded><![CDATA[<p>Look at the Flash player interface used at dailyfilm.tv:  Play any video, and notice what happens if you &#8220;scrub&#8221; the video ahead or back.  It is somewhat like the Coverflow HD Video Player effect, except that it&#39;s displayed over the video.  It&#39;s a very convenient and intuitive way to navigate through a video that you may want to review parts of, and saves space by not using a separate area for the coverflow image display.</p>
<p>Twice, I have emailed dailyfilm to ask how this is done, but I never get a response. </p>
<p>Is there a way to get this effect and behavior from Coverflow HD Video Player?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stradenuove</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-8772</link>
		<dc:creator>stradenuove</dc:creator>
		<pubDate>Wed, 11 Nov 2009 17:01:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-8772</guid>
		<description>how can i play videos from you tube by cowerflow hd player</description>
		<content:encoded><![CDATA[<p>how can i play videos from you tube by cowerflow hd player</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: divyeshjmakwana</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-8508</link>
		<dc:creator>divyeshjmakwana</dc:creator>
		<pubDate>Sat, 29 Aug 2009 16:24:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-8508</guid>
		<description>Thank you so much...i needed it immediately...</description>
		<content:encoded><![CDATA[<p>Thank you so much&#8230;i needed it immediately&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Coconut Juice</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-7880</link>
		<dc:creator>Coconut Juice</dc:creator>
		<pubDate>Fri, 17 Jul 2009 15:05:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-7880</guid>
		<description>How about a simple mp3 player with cover flow?

A workaround with your flash video player would be to do a flv video with the cover and the mp3 file...
but it would be so much cooler to use the pictures and mp3 files without having to do a flv :D</description>
		<content:encoded><![CDATA[<p>How about a simple mp3 player with cover flow?</p>
<p>A workaround with your flash video player would be to do a flv video with the cover and the mp3 file&#8230;<br />
but it would be so much cooler to use the pictures and mp3 files without having to do a flv <img src='http://www.weberdesignlabs.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kostas</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-6024</link>
		<dc:creator>Kostas</dc:creator>
		<pubDate>Wed, 13 May 2009 19:56:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-6024</guid>
		<description>Hello! This is exactly what I was looking for local use. My problem is that it plays quite slowly my videos (~20MB HD mp4s captured from youtube). Any ideas?</description>
		<content:encoded><![CDATA[<p>Hello! This is exactly what I was looking for local use. My problem is that it plays quite slowly my videos (~20MB HD mp4s captured from youtube). Any ideas?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DJelec</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-5390</link>
		<dc:creator>DJelec</dc:creator>
		<pubDate>Fri, 20 Mar 2009 18:22:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-5390</guid>
		<description>@Lucas

Is that question a joke? You are rendering a coverflow display on an onEnterFrame and playing HD video at pretty much full screen. Its doing all this inside a plugin which is inside of a browser which is on top of your OS. A better question would be why isn&#039;t it higher? 

You could probably lower that CPU usage by making the coverflow render only when necessary MouseOver, MouseMove, Click, etc.</description>
		<content:encoded><![CDATA[<p>@Lucas</p>
<p>Is that question a joke? You are rendering a coverflow display on an onEnterFrame and playing HD video at pretty much full screen. Its doing all this inside a plugin which is inside of a browser which is on top of your OS. A better question would be why isn&#8217;t it higher? </p>
<p>You could probably lower that CPU usage by making the coverflow render only when necessary MouseOver, MouseMove, Click, etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lucas</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-5389</link>
		<dc:creator>lucas</dc:creator>
		<pubDate>Fri, 20 Mar 2009 18:15:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-5389</guid>
		<description>Why does it consumes more than 50% of CPU while it is not animated?</description>
		<content:encoded><![CDATA[<p>Why does it consumes more than 50% of CPU while it is not animated?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-5277</link>
		<dc:creator>Scott</dc:creator>
		<pubDate>Tue, 10 Mar 2009 00:56:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-5277</guid>
		<description>Hello,

I am changing my website over to wordpress.org

Is there any way to incorporate this player into it?

Thanks,

Scott</description>
		<content:encoded><![CDATA[<p>Hello,</p>
<p>I am changing my website over to wordpress.org</p>
<p>Is there any way to incorporate this player into it?</p>
<p>Thanks,</p>
<p>Scott</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mash the keyboard...</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-4738</link>
		<dc:creator>Mash the keyboard...</dc:creator>
		<pubDate>Fri, 12 Dec 2008 10:57:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-4738</guid>
		<description>&lt;a href=&quot;#comment-4588&quot; rel=&quot;nofollow&quot;&gt;@phil&lt;/a&gt; 
Sorry we haven&#039;t been able to allocate any more time to the tweeks we made. Hopefully we will be able to get back to it soon.</description>
		<content:encoded><![CDATA[<p><a href="#comment-4588" rel="nofollow">@phil</a><br />
Sorry we haven&#8217;t been able to allocate any more time to the tweeks we made. Hopefully we will be able to get back to it soon.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mae24</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-4715</link>
		<dc:creator>mae24</dc:creator>
		<pubDate>Thu, 11 Dec 2008 13:20:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-4715</guid>
		<description>Hi! i love what you&#039;ve done.

I was wondering if you can help me out? how do i replace the HD video above with an image? like a larger view of the thumbnail below or another image linked to the thumbnail below.

this goes for anyone as well. =) is there anyone who can help me with the codes or something?? thanks! i hope to hear from you soon!</description>
		<content:encoded><![CDATA[<p>Hi! i love what you&#8217;ve done.</p>
<p>I was wondering if you can help me out? how do i replace the HD video above with an image? like a larger view of the thumbnail below or another image linked to the thumbnail below.</p>
<p>this goes for anyone as well. =) is there anyone who can help me with the codes or something?? thanks! i hope to hear from you soon!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: phil</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-4588</link>
		<dc:creator>phil</dc:creator>
		<pubDate>Thu, 27 Nov 2008 18:58:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-4588</guid>
		<description>&lt;a href=&quot;#comment-4395&quot; rel=&quot;nofollow&quot;&gt;@Mash the keyboard… &lt;/a&gt; 

Did you get anywhere wit the pre loader idea?</description>
		<content:encoded><![CDATA[<p><a href="#comment-4395" rel="nofollow">@Mash the keyboard… </a> </p>
<p>Did you get anywhere wit the pre loader idea?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ridge</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-4482</link>
		<dc:creator>ridge</dc:creator>
		<pubDate>Sun, 16 Nov 2008 11:28:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-4482</guid>
		<description>how I centrate thumb at startup?
example: I have 11 thumb and I want to view half at right and half at left and the 6 thumb at center.
sorry for the english...I&#039;m italian...:(</description>
		<content:encoded><![CDATA[<p>how I centrate thumb at startup?<br />
example: I have 11 thumb and I want to view half at right and half at left and the 6 thumb at center.<br />
sorry for the english&#8230;I&#8217;m italian&#8230;:(</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yoav</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-4481</link>
		<dc:creator>yoav</dc:creator>
		<pubDate>Sat, 15 Nov 2008 19:04:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-4481</guid>
		<description>i think this is great thank you so much .

my only problem is how do i make it not play automatically , which means that the first click on the picture will bring me to it and than pressing again... will luanch the movie.</description>
		<content:encoded><![CDATA[<p>i think this is great thank you so much .</p>
<p>my only problem is how do i make it not play automatically , which means that the first click on the picture will bring me to it and than pressing again&#8230; will luanch the movie.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leigh</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-4450</link>
		<dc:creator>Leigh</dc:creator>
		<pubDate>Mon, 10 Nov 2008 17:30:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-4450</guid>
		<description>This is excellent! One question though... How do I change the height of the reflection? I want a really shallow reflection.

Thanks</description>
		<content:encoded><![CDATA[<p>This is excellent! One question though&#8230; How do I change the height of the reflection? I want a really shallow reflection.</p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mash the keyboard...</title>
		<link>http://www.weberdesignlabs.com/blog/2008/05/coverflow-hd-video-player/comment-page-1/#comment-4395</link>
		<dc:creator>Mash the keyboard...</dc:creator>
		<pubDate>Thu, 23 Oct 2008 09:26:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.weberdesignlabs.com/blog/?p=28#comment-4395</guid>
		<description>Great script, it has been perfect for our project.

we have mad a few tweaks:
1. The pause screen issue now working (play/pause button disappeared in some instances, fast forward and rewind stopped working).
2. The volume mute. It now returns to the volume you set before hitting mute.
3. The pause screen appears at the end of the movie with &quot;PLAY&quot; message to replay movie.

Other things we think could do with being worked on:
1. Progress bar seek function (click on play head and drag to fast forward or rewind through the movie)
2. We are also finding that the player works fine locally but when up-loaded to the server it struggles to load second, third, etc movies. Is it possible that all the movies need to be pre loaded?

Hope this helps and thanks for the original work.

See scrip below:

//////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//             GENERAL VIDEO PLAYER
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//                  Version 2.0
//                 Stephen Weber
//             www.weberdesignlabs.com
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//TO RUN THIS WITH THE INCLUDED EXTRA EFFECTS YOU NEED TO HAVE MC_TWEEN2 LIBRARY
//GET THIS LIBRARY AT: http://hosted.zeh.com.br/mctween/
//INSTALL THE EXTENSION AND WHEN YOU PUBLISH IT WILL BE AUTOMATICALLY INCLUDED
#include &quot;mc_tween2.as&quot;
/////////////////////////////////////////////////////
//             USER CONFIGURABLE VARIABLES
/////////////////////////////////////////////////////
//IF STREAMING OR NOT
var streaming:Boolean = false;
//VIDEO TO BE PLAYED PATH
//If this video is streaming then put the address of the server below
var serverurl:String = &quot;&quot;;
//Type the directory of the video to be played
var videoDirectory:String = &quot;&quot;;
//Type the filename of the video file that you want to be played
var videoFileName:String = &quot;&quot;;
//
//Width of the Progress Bar
var barWidth:Number = new Number(videoControls.progressBar._width);
//Set This Variable To True If You Want The Video To Trace 
//Its Current Time and Total Time Consistently
var traceTime:Boolean = false;
//
//Set This Variable To However Many Miliseconds You Want The Video Controls
//FastForward and Rewind To Skip By
var skipTime:Number = 20;
//
//Set The Initial Volume of Video
//Note: Set this volume as a percentage
var initialVolumeLevel:Number = 50;
//
//Play Video As Soon As Loaded
var autoPlayVideo:Boolean = false;
//
//If You Want Roll Over Effects On The Video Controls
var buttonEffects:Boolean = true;
//
//HEX Value of RollOver Color
var rollOverColor = 0xFFFFFF;
/////////////////////////////////////////////////////


/////////////////////////////////////////////////////
//                  CUSTOMIZATION
/////////////////////////////////////////////////////
//SET THESE VARIABLES TO TURN ON AND OFF CERTAIN FUNCTIONALITY
//SET THESE TO TRUE TO TURN ON FUNCTIONALITY
//SET THESE TO FALSE TO TURN OFF FUNCTIONALITY
//
//VIDEO SCRUBER TO FASTFORWARD AND REWIND
var gotScrubber:Boolean = true;
//
//TO BE ABLE TO SEEK BY CLICK ON THE BAR TO SEEK TO THAT AREA
var barSeek:Boolean = true;
//
//SHOW MUTE BUTTON
var gotMuteButton:Boolean = true;
//
//SHOW VOLUME SLIDER BAR AND SCRUBBER
var volumeSliderBar:Boolean = true;
//
//SHOW FASTFORWARD BUTTON
var gotFastForwardButton:Boolean = true;
//
//SHOW REWIND BUTTON
var gotRewindButton:Boolean = true;
// 
//FULL SCREEN BUTTON
var gotFullScreenButton:Boolean = true;
///////////////////////////////////////////////////////
//
var videoControls:MovieClip = videoControls_mc;
//
////////////////////////////////////////
// FUNCTIONS
////////////////////////////////////////
//Loads Whatever FLV Video File You Send It
function playVideo(_videoFile) {
	if (videoDirectory == &quot;&quot; &#124;&#124; videoDirectory == null) {
		stream_ns.play(_videoFile);
	} else {
		stream_ns.play(videoDirectory+_videoFile);
	}
	videoControls.playBtn_mc._visible = false;
	videoControls.videoControls._visible = true;
}
////////////////////////////////////////
// VIDEO ACTIONS
////////////////////////////////////////
//
////////////////////////////////////////
// VARIABLES
////////////////////////////////////////
//Define Connection
var connection_nc:NetConnection = new NetConnection();

if (streaming) {
	connection_nc.connect(serverurl);
} else {
	connection_nc.connect(null);
}

////////////////////////////////////////
// Stream Object
///////////////////////////////////////
var stream_ns:NetStream = new NetStream(connection_nc);

stream_ns.onStatus = function(infoObject:Object) {
	trace(&quot;NETSTREAM STATUS: &quot;+infoObject.code);
	switch (infoObject.code) {
		case &quot;NetStream.Play.Stop&quot; :
			//VIDEO ENDED
			videoControls.progressBar._xscale = 100;

			videoControls.rewindMC.enabled = false;
			videoControls.forwardMC.enabled = false;

			videoControls.playBtn_mc._visible = true;
			videoControls.pauseBtn_mc._visible = false;
			videoControls.playBtn_mc._alpha = 100;
			pauseScreen._alpha = 100;
			
			clearInterval(prog);
			clearInterval(timer);

			stream_ns.seek(0);
			stream_ns.pause();
			
			if(autoPlayVideo) {
				coverflow_mc.next();
			}
			
			break;
		case &quot;NetStream.Buffer.Full&quot; :
			//VIDEO IS FULLY LOADED
			break;
		case &quot;NetStream.Buffer.Empty&quot; :
			break;
		case &quot;NetStream.Buffer.Flush&quot; :
			break;
		case &quot;NetStream.Play.Start&quot; :
			//STARTING TO PLAY
			break;
		case &quot;NetStream.Seek.InvalidTime&quot; :
			trace(&quot;INVALID TIME&quot;);
			break;
		case &quot;NetStream.Seek.Notify&quot; :
			//SEEKING TO PART IN VIDEO
			break;
	}
};
stream_ns.onMetaData = function(obj) {
	stream_ns.dur = obj.duration;
	timer = setInterval(progBar, 20);
};
////////////////////////////////////////

var fullscreenMode:Boolean = false;

var isMuted:Boolean = false;

my_video.orgW = my_video._width;
my_video.orgH = my_video._height;

my_video.orgX = my_video._x;
my_video.orgY = my_video._y;

//Attach NetStream To Video Holder
my_video.attachVideo(stream_ns);

if (autoPlayVideo) {
	videoControls.playBtn_mc._visible = true;
	videoControls.videoControls._visible = false;
} else {
	videoControls.playBtn_mc._visible = false;
	videoControls.videoControls._visible = true;
	//This prevents the movie from playing right away, while it still preloads
	stream_ns.seek(2);
	stream_ns.pause();
}

////////////////////////////////////////                             
// Audio Controller
////////////////////////////////////////
this.createEmptyMovieClip(&quot;flv_mc&quot;,this.getNextHighestDepth());
flv_mc.attachAudio(stream_ns);
var audio_sound:Sound = new Sound(flv_mc);
////////////////////////////////////////
// Progress Bar
////////////////////////////////////////
function progBar() {
	videoControls.progressBar._xscale = (stream_ns.time/stream_ns.dur)*100;
	//If Movie reaches 98%, stop Fast Forwarding.
	if (videoControls.progressBar._xscale&gt;98) {
		clearInterval(timer);
		stream_ns.time = stream_ns.dur;
	}
	if (traceTime) {
		trace(&quot;Current time = &quot;+stream_ns.time+&quot;   Total time = &quot;+stream_ns.dur);
	} else {
	}
}

////////////////////////////////////////
// Preloader
////////////////////////////////////////
function preloaderBar() {
	loaded_interval = setInterval(checkBytesLoaded, 10, stream_ns);
	function checkBytesLoaded(stream_ns:NetStream) {
		pctLoaded = stream_ns.bytesLoaded/stream_ns.bytesTotal*100;
		//trace(pctLoaded);
		if (pctLoaded=100) {
			clearInterval(loaded_interval);
			videoControls.progressBar_mc._visible = false;
		}
	}
}
////////////////////////////////////////
// Seek Functionality
////////////////////////////////////////
if (barSeek) {
	videoControls.bufferBar.onPress = function() {
		//trace(videoControls.bufferBar._xmouse);
		var ratio = stream_ns.dur/barWidth;
		seekTime = ratio*videoControls.bufferBar._xmouse;
		stream_ns.seek(seekTime);
	};
}
////////////////////////////////////////
// Video Controls
////////////////////////////////////////

videoControls.playBtn_mc.onRelease = function() {
	videoControls.rewindMC.enabled = true;
	videoControls.forwardMC.enabled = true;

	videoControls.pauseBtn_mc._visible = true;
	videoControls.pauseBtn_mc._alpha = 100;

	videoControls.playBtn_mc._visible = false;
	videoControls.playBtn_mc._alpha = 0;

	stream_ns.pause();

	pauseScreen._alpha = 0;
};
videoControls.pauseBtn_mc.onRelease = function() {
	videoControls.rewindMC.enabled = false;
	videoControls.forwardMC.enabled = false;

	videoControls.playBtn_mc._alpha = 100;
	videoControls.playBtn_mc._visible = true;

	videoControls.pauseBtn_mc._visible = false;
	videoControls.pauseBtn_mc._alpha = 100;

	stream_ns.pause();

	pauseScreen._alpha = 100;
};
if (buttonEffects) {
	//Play Button Effects
	videoControls.playBtn_mc.onRollOver = rollOverEffect;
	videoControls.playBtn_mc.onRollOut = rollOutEffect;

	//Pause Button Effects
	videoControls.videoControls.onRollOver = rollOverEffect;
	videoControls.videoControls.onRollOut = rollOutEffect;

	if (volumeSliderBar) {
		videoControls.volumeSliderBar.volumeSlider.onRollOver = rollOverEffect;
		videoControls.volumeSliderBar.volumeSlider.onRollOut = rollOutEffect;
	}
	if (gotMuteButton) {
		videoControls.muteMC.onRollOver = rollOverEffect;
		videoControls.muteMC.onRollOut = rollOutEffect;
	}
}

function rollOverEffect() {
	this.colorTo(rollOverColor,1,&quot;easeOutExpo&quot;);
}
function rollOutEffect() {
	this.colorTo(null,1,&quot;easeOutExpo&quot;);
}
////////////////////////////////////////
// Rewind Controls
////////////////////////////////////////
if (gotRewindButton) {
	videoControls.rewindMC.onPress = function() {
		var startingTime = stream_ns.time;
		vidControl = function () {
			if (skipTime&gt;=startingTime) {
				stream_ns.seek(0);
				clearInterval(timer);
			} else {
				stream_ns.seek(startingTime-skipTime);
			}
			startingTime = startingTime-skipTime;
		};
		timer = setInterval(vidControl, 200);
	};
	videoControls.rewindMC.onRelease = videoControls.rewindMC.onDragOut=videoControls.rewindMC.onReleaseOutside=function () {
		clearInterval(timer);
	};
} else {
	videoControls.rewindMC._visible = false;
}
////////////////////////////////////////  
// Fastforward Controls
////////////////////////////////////////
if (gotFastForwardButton) {
	videoControls.forwardMC.onPress = function() {
		vidControl = function () {
			stream_ns.seek(stream_ns.time+skipTime);
		};
		timer = setInterval(vidControl, 200);
	};
	videoControls.forwardMC.onRelease = videoControls.forwardMC.onDragOut=videoControls.forwardMC.onReleaseOutside=function () {
		clearInterval(timer);
	};
} else {
	videoControls.forwardMC._visible = false;
}
////////////////////////////////////////  
// Pause Screen
////////////////////////////////////////
pauseScreen.onRelease = pauseScreen.onReleaseOutside=function () {
	if (this._alpha == 100) {
		stream_ns.pause(false);
		this._alpha = 0;
		videoControls.playBtn_mc._visible = false;
		videoControls.playBtn_mc._alpha = 0;
		videoControls.pauseBtn_mc._visible = true;
		videoControls.pauseBtn_mc._alpha = 100;
		videoControls.videoControls._visible = true;
		videoControls.videoControls._alpha = 100;
		videoControls.rewindMC.enabled = true;
		videoControls.forwardMC.enabled = true;
	} else if (this._alpha == 0) {
		stream_ns.pause(true);
		this._alpha = 100;
		videoControls.playBtn_mc._visible = true;
		videoControls.playBtn_mc._alpha = 100;
		videoControls.pauseBtn_mc._visible = false;
		videoControls.pauseBtn_mc._alpha = 0;
		videoControls.videoControls._visible = false;
		videoControls.videoControls._alpha = 0;
		videoControls.rewindMC.enabled = true;
		videoControls.forwardMC.enabled = true;
	}
};

//////////////////////////////////////// 
// Volume Scrubber
////////////////////////////////////////
//CHECKS TO SEE IF VOLUME SLIDE BAR SHOULD BE ON
if (volumeSliderBar) {

	var volumeSlider = videoControls.volumeSliderBar.volumeSlider;
	volumeSlider.bounds = new Object();
	volumeSlider.bounds.l = 0;
	volumeSlider.bounds.r = videoControls.volumeSliderBar._width-volumeSlider._width+2;
	volumeSlider.bounds.t = 0;
	volumeSlider.bounds.b = 0;
	volumeSlider.span = volumeSlider.bounds.r-volumeSlider.bounds.l;

	//Sets the initial volume
	audio_sound.setVolume(initialVolumeLevel);

	//Sets the initial volume scrubber position
	videoControls.volumeSliderBar.volumeSlider._x = ((videoControls.volumeSliderBar._width/100)*initialVolumeLevel);

	videoControls.volumeSliderBar.volumeSlider.onPress = function() {
		//Dragging Functionality
		this.startDrag(false,videoControls.volumeSliderBar.volumeSlider.bounds.l,videoControls.volumeSliderBar.volumeSlider.bounds.t,videoControls.volumeSliderBar.volumeSlider.bounds.r,videoControls.volumeSliderBar.volumeSlider.bounds.b);

		//Setting Volume Based On X Position Relative To Volume Slider Bar
		videoControls.volumeSliderBar.volumeSlider.onEnterFrame = function() {
			var _newVolume = Math.round((videoControls.volumeSliderBar.volumeSlider._x/videoControls.volumeSliderBar._width)*100);
			audio_sound.setVolume(_newVolume);
			trace(&quot;SETTING VOLUME TO: &quot;+_newVolume);
			videoControls.muteMC.gotoAndStop(1);
			isMuted = false;
		};
	};

	videoControls.volumeSliderBar.volumeSlider.onRelease = videoControls.volumeSliderBar.volumeSlider.onReleaseOutside=function () {
		this.stopDrag();
		delete this.onEnterFrame;
	};

} else {
	//TURN OFF VOLUME SLIDER BAR
	videoControls.volumeSliderBar._visible = false;
	videoControls.volumeSliderBar.volumeSlider._visible = false;
}


//////////////////////////////////////// 
// Mute Controls
////////////////////////////////////////
if (gotMuteButton) {
	videoControls.muteMC.onRelease = function() {
		//If Muted Or Not
		if (isMuted) {
			//UNMUTE SOUND ACTIONS
			videoControls.muteMC.gotoAndStop(1);
			var _newVolume = Math.round((videoControls.volumeSliderBar.volumeSlider._x/videoControls.volumeSliderBar._width)*100);
			audio_sound.setVolume(_newVolume);
			trace(&quot;SETTING VOLUME TO: &quot;+_newVolume);
			isMuted = false;
			trace(&quot;UNMUTE&quot;);
		} else {
			//MUTE SOUND ACTIONS
			videoControls.muteMC.gotoAndStop(2);
			audio_sound.setVolume(0);
			isMuted = true;
			trace(&quot;MUTE&quot;);
		}
	};
	if (buttonEffects) {
		videoControls.muteMC.onRollOver = function() {
			if (isMuted) {
				this.gotoAndStop(1);
			} else {
				this.gotoAndStop(2);
			}
		};
		videoControls.muteMC.onRollOut = function() {
			if (isMuted) {
				this.gotoAndStop(2);
			} else {
				this.gotoAndStop(1);
			}
		};
	}
} else {
	videoControls.muteMC._visible = false;
	videoControls.muteMC._alpha = 0;
}
//////////////////////////////////////// 
// Full Screen Control
////////////////////////////////////////
coverflow_mc.origY = coverflow_mc._y;
videoControls.origY = videoControls._y;
pauseScreen.playTxt.origY = pauseScreen.playTxt._y;
videoInfo_mc.origY = videoInfo_mc._y;
if (gotFullScreenButton) {

	videoControls.fullscreenBtn.onRelease = function() {
		trace(fullscreenMode);
		if (fullscreenMode) {
			Stage[&quot;displayState&quot;] = &quot;normal&quot;;

			my_video._width = my_video.orgW;
			my_video._height = my_video.orgH;		
			
			pauseScreen.screen._height = my_video.orgH;	
			pauseScreen.playTxt.ySlideTo(pauseScreen.playTxt.origY,1,&quot;easeOutExpo&quot;);
			
			videoControls.ySlideTo(videoControls.origY,1,&quot;easeOutExpo&quot;);
			
			videoInfo_mc.ySlideTo(videoInfo_mc.origY,1,&quot;easeOutExpo&quot;);
			
			coverflow_mc.ySlideTo(coverflow_mc.origY,1,&quot;easeOutExpo&quot;);

			my_video._x = my_video.orgX;
			my_video._y = my_video.orgY;

			fullscreenMode = false;
		} else {
			Stage[&quot;displayState&quot;] = &quot;fullScreen&quot;;

			coverflow_mc.ySlideTo(Stage.height,1,&quot;easeOutExpo&quot;);

			my_video._x = 0;
			my_video._y = 0;

			my_video._width = Stage.width;
			my_video._height = Stage.height-videoControls._height;
			
			pauseScreen.screen._height = Stage.height-videoControls._height;
			pauseScreen.playTxt.ySlideTo(((Stage.height/2) - pauseScreen.playTxt._height),1,&quot;easeOutExpo&quot;);
			
			videoControls.ySlideTo((Stage.height-videoControls._height),1,&quot;easeOutExpo&quot;);
			
			var _distance:Number = videoControls.origY - videoInfo_mc.origY;
			
			videoInfo_mc.ySlideTo(((Stage.height-videoControls._height) - _distance),1,&quot;easeOutExpo&quot;);

			fullscreenMode = true;
		}
	};

	videoControls.fullscreenBtn.onRollOver = function() {
		this.gotoAndPlay(2);
	};
	videoControls.fullscreenBtn.onRollOut = function() {
		this.gotoAndStop(1);
	};
	sizeListener = new Object();
	sizeListener.onResize = function() {
		if (fullscreenMode) {
			Stage[&quot;displayState&quot;] = &quot;normal&quot;;

			my_video._width = my_video.orgW;
			my_video._height = my_video.orgH;

			my_video._x = my_video.orgX;
			my_video._y = my_video.orgY;

			fullscreenMode = false;
		} else {
			Stage[&quot;displayState&quot;] = &quot;fullScreen&quot;;

			my_video._x = 0;
			my_video._y = 0;

			my_video._width = Stage.width;
			my_video._height = Stage.height;

			fullscreenMode = true;
		}
	};
	Stage.addListener(sizeListener);
} else {
	fullscreenBtn._visible = false;
}
/////////////////////////////////////////////////////         
// INITIAL RUN
/////////////////////////////////////////////////////
stop();
function initializeVideoPlayer() {
	videoControls.progressBar._xscale = 0;
	videoControls.bufferBar._xscale = 0;

	//Preloader
	preloaderBar();

	//Play Video
	playVideo(_root.videoFileName);

	pauseScreen._alpha = 0;
}
initializeVideoPlayer();</description>
		<content:encoded><![CDATA[<p>Great script, it has been perfect for our project.</p>
<p>we have mad a few tweaks:<br />
1. The pause screen issue now working (play/pause button disappeared in some instances, fast forward and rewind stopped working).<br />
2. The volume mute. It now returns to the volume you set before hitting mute.<br />
3. The pause screen appears at the end of the movie with &#8220;PLAY&#8221; message to replay movie.</p>
<p>Other things we think could do with being worked on:<br />
1. Progress bar seek function (click on play head and drag to fast forward or rewind through the movie)<br />
2. We are also finding that the player works fine locally but when up-loaded to the server it struggles to load second, third, etc movies. Is it possible that all the movies need to be pre loaded?</p>
<p>Hope this helps and thanks for the original work.</p>
<p>See scrip below:</p>
<p>//////////////////////////////////////////////////////////////////////////////////////////////////////////<br />
//////////////////////////////////////////////////////////////////////////////////////////////////////////<br />
//             GENERAL VIDEO PLAYER<br />
//////////////////////////////////////////////////////////////////////////////////////////////////////////<br />
//                  Version 2.0<br />
//                 Stephen Weber<br />
//             <a href="http://www.weberdesignlabs.com" rel="nofollow">http://www.weberdesignlabs.com</a><br />
//////////////////////////////////////////////////////////////////////////////////////////////////////////<br />
//<br />
//TO RUN THIS WITH THE INCLUDED EXTRA EFFECTS YOU NEED TO HAVE MC_TWEEN2 LIBRARY<br />
//GET THIS LIBRARY AT: <a href="http://hosted.zeh.com.br/mctween/" rel="nofollow">http://hosted.zeh.com.br/mctween/</a><br />
//INSTALL THE EXTENSION AND WHEN YOU PUBLISH IT WILL BE AUTOMATICALLY INCLUDED<br />
#include &#8220;mc_tween2.as&#8221;<br />
/////////////////////////////////////////////////////<br />
//             USER CONFIGURABLE VARIABLES<br />
/////////////////////////////////////////////////////<br />
//IF STREAMING OR NOT<br />
var streaming:Boolean = false;<br />
//VIDEO TO BE PLAYED PATH<br />
//If this video is streaming then put the address of the server below<br />
var serverurl:String = &#8220;&#8221;;<br />
//Type the directory of the video to be played<br />
var videoDirectory:String = &#8220;&#8221;;<br />
//Type the filename of the video file that you want to be played<br />
var videoFileName:String = &#8220;&#8221;;<br />
//<br />
//Width of the Progress Bar<br />
var barWidth:Number = new Number(videoControls.progressBar._width);<br />
//Set This Variable To True If You Want The Video To Trace<br />
//Its Current Time and Total Time Consistently<br />
var traceTime:Boolean = false;<br />
//<br />
//Set This Variable To However Many Miliseconds You Want The Video Controls<br />
//FastForward and Rewind To Skip By<br />
var skipTime:Number = 20;<br />
//<br />
//Set The Initial Volume of Video<br />
//Note: Set this volume as a percentage<br />
var initialVolumeLevel:Number = 50;<br />
//<br />
//Play Video As Soon As Loaded<br />
var autoPlayVideo:Boolean = false;<br />
//<br />
//If You Want Roll Over Effects On The Video Controls<br />
var buttonEffects:Boolean = true;<br />
//<br />
//HEX Value of RollOver Color<br />
var rollOverColor = 0xFFFFFF;<br />
/////////////////////////////////////////////////////</p>
<p>/////////////////////////////////////////////////////<br />
//                  CUSTOMIZATION<br />
/////////////////////////////////////////////////////<br />
//SET THESE VARIABLES TO TURN ON AND OFF CERTAIN FUNCTIONALITY<br />
//SET THESE TO TRUE TO TURN ON FUNCTIONALITY<br />
//SET THESE TO FALSE TO TURN OFF FUNCTIONALITY<br />
//<br />
//VIDEO SCRUBER TO FASTFORWARD AND REWIND<br />
var gotScrubber:Boolean = true;<br />
//<br />
//TO BE ABLE TO SEEK BY CLICK ON THE BAR TO SEEK TO THAT AREA<br />
var barSeek:Boolean = true;<br />
//<br />
//SHOW MUTE BUTTON<br />
var gotMuteButton:Boolean = true;<br />
//<br />
//SHOW VOLUME SLIDER BAR AND SCRUBBER<br />
var volumeSliderBar:Boolean = true;<br />
//<br />
//SHOW FASTFORWARD BUTTON<br />
var gotFastForwardButton:Boolean = true;<br />
//<br />
//SHOW REWIND BUTTON<br />
var gotRewindButton:Boolean = true;<br />
//<br />
//FULL SCREEN BUTTON<br />
var gotFullScreenButton:Boolean = true;<br />
///////////////////////////////////////////////////////<br />
//<br />
var videoControls:MovieClip = videoControls_mc;<br />
//<br />
////////////////////////////////////////<br />
// FUNCTIONS<br />
////////////////////////////////////////<br />
//Loads Whatever FLV Video File You Send It<br />
function playVideo(_videoFile) {<br />
	if (videoDirectory == &#8220;&#8221; || videoDirectory == null) {<br />
		stream_ns.play(_videoFile);<br />
	} else {<br />
		stream_ns.play(videoDirectory+_videoFile);<br />
	}<br />
	videoControls.playBtn_mc._visible = false;<br />
	videoControls.videoControls._visible = true;<br />
}<br />
////////////////////////////////////////<br />
// VIDEO ACTIONS<br />
////////////////////////////////////////<br />
//<br />
////////////////////////////////////////<br />
// VARIABLES<br />
////////////////////////////////////////<br />
//Define Connection<br />
var connection_nc:NetConnection = new NetConnection();</p>
<p>if (streaming) {<br />
	connection_nc.connect(serverurl);<br />
} else {<br />
	connection_nc.connect(null);<br />
}</p>
<p>////////////////////////////////////////<br />
// Stream Object<br />
///////////////////////////////////////<br />
var stream_ns:NetStream = new NetStream(connection_nc);</p>
<p>stream_ns.onStatus = function(infoObject:Object) {<br />
	trace(&#8220;NETSTREAM STATUS: &#8220;+infoObject.code);<br />
	switch (infoObject.code) {<br />
		case &#8220;NetStream.Play.Stop&#8221; :<br />
			//VIDEO ENDED<br />
			videoControls.progressBar._xscale = 100;</p>
<p>			videoControls.rewindMC.enabled = false;<br />
			videoControls.forwardMC.enabled = false;</p>
<p>			videoControls.playBtn_mc._visible = true;<br />
			videoControls.pauseBtn_mc._visible = false;<br />
			videoControls.playBtn_mc._alpha = 100;<br />
			pauseScreen._alpha = 100;</p>
<p>			clearInterval(prog);<br />
			clearInterval(timer);</p>
<p>			stream_ns.seek(0);<br />
			stream_ns.pause();</p>
<p>			if(autoPlayVideo) {<br />
				coverflow_mc.next();<br />
			}</p>
<p>			break;<br />
		case &#8220;NetStream.Buffer.Full&#8221; :<br />
			//VIDEO IS FULLY LOADED<br />
			break;<br />
		case &#8220;NetStream.Buffer.Empty&#8221; :<br />
			break;<br />
		case &#8220;NetStream.Buffer.Flush&#8221; :<br />
			break;<br />
		case &#8220;NetStream.Play.Start&#8221; :<br />
			//STARTING TO PLAY<br />
			break;<br />
		case &#8220;NetStream.Seek.InvalidTime&#8221; :<br />
			trace(&#8220;INVALID TIME&#8221;);<br />
			break;<br />
		case &#8220;NetStream.Seek.Notify&#8221; :<br />
			//SEEKING TO PART IN VIDEO<br />
			break;<br />
	}<br />
};<br />
stream_ns.onMetaData = function(obj) {<br />
	stream_ns.dur = obj.duration;<br />
	timer = setInterval(progBar, 20);<br />
};<br />
////////////////////////////////////////</p>
<p>var fullscreenMode:Boolean = false;</p>
<p>var isMuted:Boolean = false;</p>
<p>my_video.orgW = my_video._width;<br />
my_video.orgH = my_video._height;</p>
<p>my_video.orgX = my_video._x;<br />
my_video.orgY = my_video._y;</p>
<p>//Attach NetStream To Video Holder<br />
my_video.attachVideo(stream_ns);</p>
<p>if (autoPlayVideo) {<br />
	videoControls.playBtn_mc._visible = true;<br />
	videoControls.videoControls._visible = false;<br />
} else {<br />
	videoControls.playBtn_mc._visible = false;<br />
	videoControls.videoControls._visible = true;<br />
	//This prevents the movie from playing right away, while it still preloads<br />
	stream_ns.seek(2);<br />
	stream_ns.pause();<br />
}</p>
<p>////////////////////////////////////////<br />
// Audio Controller<br />
////////////////////////////////////////<br />
this.createEmptyMovieClip(&#8220;flv_mc&#8221;,this.getNextHighestDepth());<br />
flv_mc.attachAudio(stream_ns);<br />
var audio_sound:Sound = new Sound(flv_mc);<br />
////////////////////////////////////////<br />
// Progress Bar<br />
////////////////////////////////////////<br />
function progBar() {<br />
	videoControls.progressBar._xscale = (stream_ns.time/stream_ns.dur)*100;<br />
	//If Movie reaches 98%, stop Fast Forwarding.<br />
	if (videoControls.progressBar._xscale&gt;98) {<br />
		clearInterval(timer);<br />
		stream_ns.time = stream_ns.dur;<br />
	}<br />
	if (traceTime) {<br />
		trace(&#8220;Current time = &#8220;+stream_ns.time+&#8221;   Total time = &#8220;+stream_ns.dur);<br />
	} else {<br />
	}<br />
}</p>
<p>////////////////////////////////////////<br />
// Preloader<br />
////////////////////////////////////////<br />
function preloaderBar() {<br />
	loaded_interval = setInterval(checkBytesLoaded, 10, stream_ns);<br />
	function checkBytesLoaded(stream_ns:NetStream) {<br />
		pctLoaded = stream_ns.bytesLoaded/stream_ns.bytesTotal*100;<br />
		//trace(pctLoaded);<br />
		if (pctLoaded=100) {<br />
			clearInterval(loaded_interval);<br />
			videoControls.progressBar_mc._visible = false;<br />
		}<br />
	}<br />
}<br />
////////////////////////////////////////<br />
// Seek Functionality<br />
////////////////////////////////////////<br />
if (barSeek) {<br />
	videoControls.bufferBar.onPress = function() {<br />
		//trace(videoControls.bufferBar._xmouse);<br />
		var ratio = stream_ns.dur/barWidth;<br />
		seekTime = ratio*videoControls.bufferBar._xmouse;<br />
		stream_ns.seek(seekTime);<br />
	};<br />
}<br />
////////////////////////////////////////<br />
// Video Controls<br />
////////////////////////////////////////</p>
<p>videoControls.playBtn_mc.onRelease = function() {<br />
	videoControls.rewindMC.enabled = true;<br />
	videoControls.forwardMC.enabled = true;</p>
<p>	videoControls.pauseBtn_mc._visible = true;<br />
	videoControls.pauseBtn_mc._alpha = 100;</p>
<p>	videoControls.playBtn_mc._visible = false;<br />
	videoControls.playBtn_mc._alpha = 0;</p>
<p>	stream_ns.pause();</p>
<p>	pauseScreen._alpha = 0;<br />
};<br />
videoControls.pauseBtn_mc.onRelease = function() {<br />
	videoControls.rewindMC.enabled = false;<br />
	videoControls.forwardMC.enabled = false;</p>
<p>	videoControls.playBtn_mc._alpha = 100;<br />
	videoControls.playBtn_mc._visible = true;</p>
<p>	videoControls.pauseBtn_mc._visible = false;<br />
	videoControls.pauseBtn_mc._alpha = 100;</p>
<p>	stream_ns.pause();</p>
<p>	pauseScreen._alpha = 100;<br />
};<br />
if (buttonEffects) {<br />
	//Play Button Effects<br />
	videoControls.playBtn_mc.onRollOver = rollOverEffect;<br />
	videoControls.playBtn_mc.onRollOut = rollOutEffect;</p>
<p>	//Pause Button Effects<br />
	videoControls.videoControls.onRollOver = rollOverEffect;<br />
	videoControls.videoControls.onRollOut = rollOutEffect;</p>
<p>	if (volumeSliderBar) {<br />
		videoControls.volumeSliderBar.volumeSlider.onRollOver = rollOverEffect;<br />
		videoControls.volumeSliderBar.volumeSlider.onRollOut = rollOutEffect;<br />
	}<br />
	if (gotMuteButton) {<br />
		videoControls.muteMC.onRollOver = rollOverEffect;<br />
		videoControls.muteMC.onRollOut = rollOutEffect;<br />
	}<br />
}</p>
<p>function rollOverEffect() {<br />
	this.colorTo(rollOverColor,1,&#8221;easeOutExpo&#8221;);<br />
}<br />
function rollOutEffect() {<br />
	this.colorTo(null,1,&#8221;easeOutExpo&#8221;);<br />
}<br />
////////////////////////////////////////<br />
// Rewind Controls<br />
////////////////////////////////////////<br />
if (gotRewindButton) {<br />
	videoControls.rewindMC.onPress = function() {<br />
		var startingTime = stream_ns.time;<br />
		vidControl = function () {<br />
			if (skipTime&gt;=startingTime) {<br />
				stream_ns.seek(0);<br />
				clearInterval(timer);<br />
			} else {<br />
				stream_ns.seek(startingTime-skipTime);<br />
			}<br />
			startingTime = startingTime-skipTime;<br />
		};<br />
		timer = setInterval(vidControl, 200);<br />
	};<br />
	videoControls.rewindMC.onRelease = videoControls.rewindMC.onDragOut=videoControls.rewindMC.onReleaseOutside=function () {<br />
		clearInterval(timer);<br />
	};<br />
} else {<br />
	videoControls.rewindMC._visible = false;<br />
}<br />
////////////////////////////////////////<br />
// Fastforward Controls<br />
////////////////////////////////////////<br />
if (gotFastForwardButton) {<br />
	videoControls.forwardMC.onPress = function() {<br />
		vidControl = function () {<br />
			stream_ns.seek(stream_ns.time+skipTime);<br />
		};<br />
		timer = setInterval(vidControl, 200);<br />
	};<br />
	videoControls.forwardMC.onRelease = videoControls.forwardMC.onDragOut=videoControls.forwardMC.onReleaseOutside=function () {<br />
		clearInterval(timer);<br />
	};<br />
} else {<br />
	videoControls.forwardMC._visible = false;<br />
}<br />
////////////////////////////////////////<br />
// Pause Screen<br />
////////////////////////////////////////<br />
pauseScreen.onRelease = pauseScreen.onReleaseOutside=function () {<br />
	if (this._alpha == 100) {<br />
		stream_ns.pause(false);<br />
		this._alpha = 0;<br />
		videoControls.playBtn_mc._visible = false;<br />
		videoControls.playBtn_mc._alpha = 0;<br />
		videoControls.pauseBtn_mc._visible = true;<br />
		videoControls.pauseBtn_mc._alpha = 100;<br />
		videoControls.videoControls._visible = true;<br />
		videoControls.videoControls._alpha = 100;<br />
		videoControls.rewindMC.enabled = true;<br />
		videoControls.forwardMC.enabled = true;<br />
	} else if (this._alpha == 0) {<br />
		stream_ns.pause(true);<br />
		this._alpha = 100;<br />
		videoControls.playBtn_mc._visible = true;<br />
		videoControls.playBtn_mc._alpha = 100;<br />
		videoControls.pauseBtn_mc._visible = false;<br />
		videoControls.pauseBtn_mc._alpha = 0;<br />
		videoControls.videoControls._visible = false;<br />
		videoControls.videoControls._alpha = 0;<br />
		videoControls.rewindMC.enabled = true;<br />
		videoControls.forwardMC.enabled = true;<br />
	}<br />
};</p>
<p>////////////////////////////////////////<br />
// Volume Scrubber<br />
////////////////////////////////////////<br />
//CHECKS TO SEE IF VOLUME SLIDE BAR SHOULD BE ON<br />
if (volumeSliderBar) {</p>
<p>	var volumeSlider = videoControls.volumeSliderBar.volumeSlider;<br />
	volumeSlider.bounds = new Object();<br />
	volumeSlider.bounds.l = 0;<br />
	volumeSlider.bounds.r = videoControls.volumeSliderBar._width-volumeSlider._width+2;<br />
	volumeSlider.bounds.t = 0;<br />
	volumeSlider.bounds.b = 0;<br />
	volumeSlider.span = volumeSlider.bounds.r-volumeSlider.bounds.l;</p>
<p>	//Sets the initial volume<br />
	audio_sound.setVolume(initialVolumeLevel);</p>
<p>	//Sets the initial volume scrubber position<br />
	videoControls.volumeSliderBar.volumeSlider._x = ((videoControls.volumeSliderBar._width/100)*initialVolumeLevel);</p>
<p>	videoControls.volumeSliderBar.volumeSlider.onPress = function() {<br />
		//Dragging Functionality<br />
		this.startDrag(false,videoControls.volumeSliderBar.volumeSlider.bounds.l,videoControls.volumeSliderBar.volumeSlider.bounds.t,videoControls.volumeSliderBar.volumeSlider.bounds.r,videoControls.volumeSliderBar.volumeSlider.bounds.b);</p>
<p>		//Setting Volume Based On X Position Relative To Volume Slider Bar<br />
		videoControls.volumeSliderBar.volumeSlider.onEnterFrame = function() {<br />
			var _newVolume = Math.round((videoControls.volumeSliderBar.volumeSlider._x/videoControls.volumeSliderBar._width)*100);<br />
			audio_sound.setVolume(_newVolume);<br />
			trace(&#8220;SETTING VOLUME TO: &#8220;+_newVolume);<br />
			videoControls.muteMC.gotoAndStop(1);<br />
			isMuted = false;<br />
		};<br />
	};</p>
<p>	videoControls.volumeSliderBar.volumeSlider.onRelease = videoControls.volumeSliderBar.volumeSlider.onReleaseOutside=function () {<br />
		this.stopDrag();<br />
		delete this.onEnterFrame;<br />
	};</p>
<p>} else {<br />
	//TURN OFF VOLUME SLIDER BAR<br />
	videoControls.volumeSliderBar._visible = false;<br />
	videoControls.volumeSliderBar.volumeSlider._visible = false;<br />
}</p>
<p>////////////////////////////////////////<br />
// Mute Controls<br />
////////////////////////////////////////<br />
if (gotMuteButton) {<br />
	videoControls.muteMC.onRelease = function() {<br />
		//If Muted Or Not<br />
		if (isMuted) {<br />
			//UNMUTE SOUND ACTIONS<br />
			videoControls.muteMC.gotoAndStop(1);<br />
			var _newVolume = Math.round((videoControls.volumeSliderBar.volumeSlider._x/videoControls.volumeSliderBar._width)*100);<br />
			audio_sound.setVolume(_newVolume);<br />
			trace(&#8220;SETTING VOLUME TO: &#8220;+_newVolume);<br />
			isMuted = false;<br />
			trace(&#8220;UNMUTE&#8221;);<br />
		} else {<br />
			//MUTE SOUND ACTIONS<br />
			videoControls.muteMC.gotoAndStop(2);<br />
			audio_sound.setVolume(0);<br />
			isMuted = true;<br />
			trace(&#8220;MUTE&#8221;);<br />
		}<br />
	};<br />
	if (buttonEffects) {<br />
		videoControls.muteMC.onRollOver = function() {<br />
			if (isMuted) {<br />
				this.gotoAndStop(1);<br />
			} else {<br />
				this.gotoAndStop(2);<br />
			}<br />
		};<br />
		videoControls.muteMC.onRollOut = function() {<br />
			if (isMuted) {<br />
				this.gotoAndStop(2);<br />
			} else {<br />
				this.gotoAndStop(1);<br />
			}<br />
		};<br />
	}<br />
} else {<br />
	videoControls.muteMC._visible = false;<br />
	videoControls.muteMC._alpha = 0;<br />
}<br />
////////////////////////////////////////<br />
// Full Screen Control<br />
////////////////////////////////////////<br />
coverflow_mc.origY = coverflow_mc._y;<br />
videoControls.origY = videoControls._y;<br />
pauseScreen.playTxt.origY = pauseScreen.playTxt._y;<br />
videoInfo_mc.origY = videoInfo_mc._y;<br />
if (gotFullScreenButton) {</p>
<p>	videoControls.fullscreenBtn.onRelease = function() {<br />
		trace(fullscreenMode);<br />
		if (fullscreenMode) {<br />
			Stage["displayState"] = &#8220;normal&#8221;;</p>
<p>			my_video._width = my_video.orgW;<br />
			my_video._height = my_video.orgH;		</p>
<p>			pauseScreen.screen._height = my_video.orgH;<br />
			pauseScreen.playTxt.ySlideTo(pauseScreen.playTxt.origY,1,&#8221;easeOutExpo&#8221;);</p>
<p>			videoControls.ySlideTo(videoControls.origY,1,&#8221;easeOutExpo&#8221;);</p>
<p>			videoInfo_mc.ySlideTo(videoInfo_mc.origY,1,&#8221;easeOutExpo&#8221;);</p>
<p>			coverflow_mc.ySlideTo(coverflow_mc.origY,1,&#8221;easeOutExpo&#8221;);</p>
<p>			my_video._x = my_video.orgX;<br />
			my_video._y = my_video.orgY;</p>
<p>			fullscreenMode = false;<br />
		} else {<br />
			Stage["displayState"] = &#8220;fullScreen&#8221;;</p>
<p>			coverflow_mc.ySlideTo(Stage.height,1,&#8221;easeOutExpo&#8221;);</p>
<p>			my_video._x = 0;<br />
			my_video._y = 0;</p>
<p>			my_video._width = Stage.width;<br />
			my_video._height = Stage.height-videoControls._height;</p>
<p>			pauseScreen.screen._height = Stage.height-videoControls._height;<br />
			pauseScreen.playTxt.ySlideTo(((Stage.height/2) &#8211; pauseScreen.playTxt._height),1,&#8221;easeOutExpo&#8221;);</p>
<p>			videoControls.ySlideTo((Stage.height-videoControls._height),1,&#8221;easeOutExpo&#8221;);</p>
<p>			var _distance:Number = videoControls.origY &#8211; videoInfo_mc.origY;</p>
<p>			videoInfo_mc.ySlideTo(((Stage.height-videoControls._height) &#8211; _distance),1,&#8221;easeOutExpo&#8221;);</p>
<p>			fullscreenMode = true;<br />
		}<br />
	};</p>
<p>	videoControls.fullscreenBtn.onRollOver = function() {<br />
		this.gotoAndPlay(2);<br />
	};<br />
	videoControls.fullscreenBtn.onRollOut = function() {<br />
		this.gotoAndStop(1);<br />
	};<br />
	sizeListener = new Object();<br />
	sizeListener.onResize = function() {<br />
		if (fullscreenMode) {<br />
			Stage["displayState"] = &#8220;normal&#8221;;</p>
<p>			my_video._width = my_video.orgW;<br />
			my_video._height = my_video.orgH;</p>
<p>			my_video._x = my_video.orgX;<br />
			my_video._y = my_video.orgY;</p>
<p>			fullscreenMode = false;<br />
		} else {<br />
			Stage["displayState"] = &#8220;fullScreen&#8221;;</p>
<p>			my_video._x = 0;<br />
			my_video._y = 0;</p>
<p>			my_video._width = Stage.width;<br />
			my_video._height = Stage.height;</p>
<p>			fullscreenMode = true;<br />
		}<br />
	};<br />
	Stage.addListener(sizeListener);<br />
} else {<br />
	fullscreenBtn._visible = false;<br />
}<br />
/////////////////////////////////////////////////////<br />
// INITIAL RUN<br />
/////////////////////////////////////////////////////<br />
stop();<br />
function initializeVideoPlayer() {<br />
	videoControls.progressBar._xscale = 0;<br />
	videoControls.bufferBar._xscale = 0;</p>
<p>	//Preloader<br />
	preloaderBar();</p>
<p>	//Play Video<br />
	playVideo(_root.videoFileName);</p>
<p>	pauseScreen._alpha = 0;<br />
}<br />
initializeVideoPlayer();</p>
]]></content:encoded>
	</item>
</channel>
</rss>
