DoubleClick Studio AS3 API Reference

class com.google.ads.studio.video.VideoController

A video controller is an API to play and track videos. This implementation tries to be as bare bones as possible.

Expand Events

Constructors

VideoController()

Creates a new video controller.

Instance Methods

Defined in com.google.ads.studio.video:VideoController

Expand
addVideoEntry(videoEntry: VideoEntry) : void

Add a video entry to the video controller. The order in which these are added is the order in which they'll be attempted. The first video entry is pre-created and can either be added (which replaces the first dummy) or edited via getVideoEntries()[0].setHigh("foo.flv"); . These example code blocks are equivalent.

     import com.google.ads.studio.video.SmartStreamingConnection;
     import com.google.ads.studio.video.VideoController;
     import com.google.ads.studio.video.VideoEntry;
      
     var videoController:VideoController = new VideoController();
     videoController.setReportingIdentifier("my video");
     videoController.addVideoEntry(new VideoEntry(
         "streaming_high.flv",
         null, null,
         SmartStreamingConnection));
     videoController.addVideoEntry(new VideoEntry("progressive_high.flv"));
     
     import com.google.ads.studio.video.SmartStreamingConnection;
     import com.google.ads.studio.video.VideoController;
     import com.google.ads.studio.video.VideoEntry;
      
     var videoController:VideoController = new VideoController();
     videoController.setReportingIdentifier("my video");
     videoController.getVideoEntries()[0].setHigh("streaming_high.flv");
     videoController.getVideoEntries()[0].setConnectionType(
         SmartStreamingConnection);
     // Secondary video entries always needs to be added.
     videoController.addVideoEntry(new VideoEntry("progressive_high.flv"));
     

attachAudioAndVideo() : void

After the netstream object is available, this attaches the video and audio to netstream object.

cloneWithBasicProperties() : VideoController

Clones a video controller with its basic properties such as buffer time and reporting ID. Note that this does NOT copy any video entries or any other properties.

getAudioChannel() : AudioChannel

Gets the audio channel.

     import com.google.ads.studio.audio.AudioChannel;
      
     var unmuteClickHandler:Function = function(event:MouseEvent):void {
       var audioChannel:AudioChannel = videoComponentInstance.
           getCurrentVideoController().getAudioChannel();
       audioChannel.MAX_VOLUME;
     };
     unmuteButton.addEventListener(MouseEvent.CLICK, unmuteClickHandler);
     

getBufferTime() : Number

Gets the set buffer time.

     import com.google.ads.studio.video.VideoController;
     import com.google.ads.studio.events.StudioVideoEvent;
      
     var videoController:VideoController =
         videoComponentInstance.getCurrentVideoController();
      
     var videoBufferedHandler:Function = function(
         event:StudioVideoEvent):void {
       trace("Video's buffer time is " +
           videoController.getBufferTime() + ".");
     };
     videoComponentInstance.addEventListener(
         StudioVideoEvent.BUFFERED,
         videoBufferedHandler);
     

getNetConnection() : NetConnection

Gets the current netconnection.

     import com.google.ads.studio.video.VideoController;
     import com.google.ads.studio.events.StudioVideoEvent;
      
     var videoController:VideoController =
         videoComponentInstance.getCurrentVideoController();
      
     var netConnectionAvailableHandler:Function = function(
         event:StudioVideoEvent):void {
       trace("Current Net Connection is " +
           videoController.getNetConnection() + ".");
     };
     videoController.addEventListener(
         StudioVideoEvent.NET_CONNECTION_AVAILABLE,
         netConnectionAvailableHandler);
     

getNetStream() : NetStream

Gets current the netstream object.

     import com.google.ads.studio.video.VideoController;
     import com.google.ads.studio.events.StudioVideoEvent;
      
     var videoController:VideoController =
         videoComponentInstance.getCurrentVideoController();
      
     var onNetStreamAvailableHandler:Function = function(
         event:StudioVideoEvent):void {
       trace("Current Net Stream object is " +
           videoController.getNetStream() + ".");
     };
     videoController.addEventListener(
         StudioVideoEvent.NET_STREAM_AVAILABLE,
         netStreamAvailableHandler);
     

getNumberOfVideoEntries() : Number

Gets the number of video entries.

     import com.google.ads.studio.video.VideoController;
     import com.google.ads.studio.events.StudioVideoEvent;
      
     var videoController:VideoController =
         videoComponentInstance.getCurrentVideoController();
      
     var videoBufferedHandler:Function = function(
         event:StudioVideoEvent):void {
       trace("The number of video entry(ies) is(are) " +
           videoController.getNumberOfVideoEntries() + ".");
     };
     videoComponentInstance.addEventListener(
         StudioVideoEvent.BUFFERED,
         videoBufferedHandler);
     

getPlayerState() : AbstractPlayerState

Gets the current player state.

     import com.google.ads.studio.video.VideoController;
     import com.google.ads.studio.events.StudioVideoEvent;
      
     var videoController:VideoController =
         videoComponentInstance.getCurrentVideoController();
      
     var enterFrameHandler:Function = function(event:Event):void {
       trace("The current player state is " +
           videoController.getPlayerState() + ".");
     };
     this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
     

getReportingIdentifier() : String

Gets the video reporting identifier.

     import com.google.ads.studio.video.VideoController;
     import com.google.ads.studio.events.StudioVideoEvent;
      
     var videoController:VideoController =
         videoComponentInstance.getCurrentVideoController();
      
     var videoBufferedHandler:Function = function(
         event:StudioVideoEvent):void {
       trace("The video reporting identifier is " +
           videoController.getReportingIdentifier() + ".");
     };
     videoComponentInstance.addEventListener(
         StudioVideoEvent.BUFFERED,
         videoBufferedHandler);
     

getVideoConnection() : AbstractVideoConnection

Gets the current video connection.

     import com.google.ads.studio.video.VideoController;
     import com.google.ads.studio.events.StudioVideoEvent;
      
     var videoController:VideoController =
         videoComponentInstance.getCurrentVideoController();
      
     var videoBufferedHandler:Function = function(
         event:StudioVideoEvent):void {
       trace("The current Video connection is " +
           videoController.getVideoConnection() + ".");
     };
     videoComponentInstance.addEventListener(
         StudioVideoEvent.BUFFERED,
         videoBufferedHandler);
     

getVideoEntries() : Array

Gets the currently added video entries.

     import com.google.ads.studio.video.VideoController;
     import com.google.ads.studio.events.StudioVideoEvent;
      
     var videoController:VideoController =
         videoComponentInstance.getCurrentVideoController();
      
     var videoBufferedHandler:Function = function(
         event:StudioVideoEvent):void {
       var videoEntries:Array = videoController.getVideoEntries();
       for (var i = 0; i < videoEntries.length; i++) {
         trace("Video Entry #" + i + "is " + videoEntries[i]);
       }
     };
     videoComponentInstance.addEventListener(
         StudioVideoEvent.BUFFERED,
         videoBufferedHandler);
     

getVideoObject() : Video

Gets the video object.

     import com.google.ads.studio.video.VideoController;
     import com.google.ads.studio.events.StudioVideoEvent;
      
     // Get a reference to the current video.
     var videoController:VideoController =
         videoComponentInstance.getCurrentVideoController();
      
     var videoBufferedHandler:Function = function(
         event:StudioVideoEvent):void {
       var videoObject:Video = videoController.getVideoObject();
     };
     videoComponentInstance.addEventListener(
         StudioVideoEvent.BUFFERED,
         videoBufferedHandler);
     

mute() : void

Mutes the audio channel associated to the playing video.

     var muteClickHandler:Function = function(event:MouseEvent):void {
       videoController.mute();
     };
     muteButton.addEventListener(MouseEvent.CLICK, muteClickHandler);
     

Expand
pause(alwaysPause:Boolean=false) : void

Pauses the video.

     var pauseClickHandler:Function = function(event:MouseEvent):void {
       videoController.pause();
     };
     pauseButton.addEventListener(MouseEvent.CLICK, pauseClickHandler);
     

Expand
play(trackAsAutoPlay:Boolean=false) : void

Plays the video.

     var playClickHandler:Function = function(event:MouseEvent):void {
       videoController.play();
     };
     playButton.addEventListener(MouseEvent.CLICK, playClickHandler);
     

replay() : void

Replays the video.

     var replayClickHandler:Function = function(event:MouseEvent):void {
       videoController.replay();
     };
     replayButton.addEventListener(MouseEvent.CLICK, replayClickHandler);
     

Expand
seek(time:Number) : void

Seeks the playhead to a particular time in seconds.

     var seekClickHandler:Function = function(event:MouseEvent):void {
       videoController.seek(10);
     };
     seekButton.addEventListener(MouseEvent.CLICK, seekClickHandler);
     

Expand
setBufferTime(seconds:Number) : void

Sets the amount of time to buffer.

     var timeInSeconds:int = 1;
     videoController.setBufferTime(timeInSeconds);
     

Expand
setCloseOnComplete(closeOnComplete:Boolean) : void

Sets whether the creative should close on completion of this video.

Expand
setEnabler(enabler:Object) : void

Sets the Enabler.

Expand
setPrimary(isPrimary:Boolean) : void

Sets whether this is the primary video controller.

Expand
setReportDuration(reportDuration:Boolean) : void

Sets whether this controller should report its duration.

Expand
setReportingIdentifier(reportingIdentifier:String) : void

Sets the reporting identifier for the videos to report as.

     videoController.setReportingIdentifier("Video_1");
     

Expand
setVideoObject(video:flash.media:Video) : void

Sets the video object to display the video.

     import com.google.ads.studio.video.VideoController;
     import com.google.ads.studio.video.VideoEntry;
      
     var videoController:VideoController =
         videoComponentInstance.getCurrentVideoController();
      
     var addVideoClickHandler:Function = function(event:MouseEvent):void {
       var videoEntry:VideoEntry =
           new VideoEntry("broadband_video.flv", "midband_video.flv",
               "narrowband_video.flv");
       videoController = new VideoController();
       videoController.setReportingIdentifier("new_video");
       videoController.addVideoEntry(videoEntry);
       videoController.setVideoObject(vidPlayerInstance.getVideoObject());
       videoController.play();
     };
     addVideoButton.addEventListener(MouseEvent.CLICK, addVideoClickHandler);
     

stop() : void

Stops the video. The current implementation for stop is to pause and seek the playhead to 0.

     var stopClickHandler:Function = function(event:MouseEvent):void {
       videoController.stop();
     };
     stopButton.addEventListener(MouseEvent.CLICK, stopClickHandler);
     

unload() : void

Unloads the video controller and preps it for garbage collection as well as possible.

     var unloadClickHandler:Function = function(event:MouseEvent):void {
       videoController.unload();
     };
     unloadButton.addEventListener(MouseEvent.CLICK, unloadClickHandler);
     

unmute() : void

Unmutes the audio channel associated to the playing video.

     var unmuteClickHandler:Function = function(event:MouseEvent):void {
       videoController.unmute();
     unmuteButton.addEventListener(MouseEvent.CLICK, unmuteClickHandler);
     

Back to top

  1. com.google.ads.studio
    1. AssetLoader
    2. ContextualDiscovery
    3. F2fEnabler
    4. FullScreenButton
    5. HtmlEnabler
    6. ProxyEnabler
    7. VpaidEnabler
  1. com.google.ads.studio.configurable
    1. Configurable
  1. com.google.ads.studio.display
    1. StudioLoader
  1. com.google.ads.studio.events
    1. StudioEvent
    2. StudioVideoEvent
  1. com.google.ads.studio.expanding
    1. Expanding
  1. com.google.ads.studio.localconnect
    1. LocalConnectWrapper
  1. com.google.ads.studio.video
    1. ConfigurableVideoPlayer
    2. EnhancedVideoController
    3. PlayPauseButton
    4. Playlist
    5. Scrubber
    6. SoundToggleButton
    7. VideoController
    8. VideoEntry
    9. VideoPlayer
    10. VideoPlayerAdvanced
  1. com.google.ads.studio.vpaid
    1. VpaidTimer