package away3d.events
{
import flash.events.Event;
import flash.net.NetStream;
/**
* Passed as a parameter when a material event occurs
*/
public class VideoEvent extends Event
{
/**
* Dispatched when the video starts playing (NetStream.Play.Start)
*/
public static const PLAY:String = "onPlay";
/**
* Dispatched when the video stops playing (NetStream.Play.Start)
*/
public static const STOP:String = "onStop";
/**
* Dispatched when the metadata is downloaded
*/
public static const METADATA:String = "onMetadata";
/**
* A reference to the NetStream that is relevant to the event.
*/
public var stream:NetStream;
/**
* A reference to the FLV that is relevant to the event.
*/
public var file:String;
/**
* A reference to the related object (for metadata)
*/
public var object:Object
/**
* Creates a new VideoEvent object.
*
* @param type The type of the event. Possible values are: VideoEvent.START, VideoEvent.STOP and VideoEvent.METADATA.
* @param stream A reference to the NetStream that is relevant to the event.
* @param file A reference to the file that is playing on the stream.
* @param stream A reference to an object passed from the event dispatcher (used for passing the MetaData)
*/
public function VideoEvent(type:String, stream:NetStream, file:String, object:Object = null)
{
super(type);
this.stream = stream;
this.file = file;
this.object = object;
}
/**
* Creates a copy of the VideoEvent object and sets the value of each property to match that of the original.
*/
public override function clone():Event
{
return new VideoEvent(type, stream, file, object);
}
}
}