Class: Flash

Flash

Flash Media Controller - Wrapper for Flash Media API


new Flash( [options], ready)

Create an instance of this Tech.

Parameters:
Name Type Argument Description
options Object <optional>

The key/value store of player options.

ready Component~ReadyCallback

Callback function to call when the Flash Tech is ready.

Mixes In:
  • FlashRtmpDecorator
  • Tech~SouceHandlerAdditions
Source:
tech/flash.js

Extends

Members


<static, constant> formats :Object

Flash supported mime types.

Type:
  • Object
Source:
tech/flash.js

featuresFullscreenResize :boolean

Boolean indicating wether the Tech support fullscreen resize control. Resizing plugins using request fullscreen reloads the plugin

Type:
  • boolean
Inherited From:
Source:
tech/tech.js

featuresNativeTextTracks :boolean

Boolean indicating wether the Tech supports the native TextTracks. This will help us integrate with native TextTracks if the browser supports them.

Type:
  • boolean
Inherited From:
Source:
tech/tech.js

featuresPlaybackRate :boolean

Boolean indicating wether the Tech supports changing the speed at which the video plays. Examples:

  • Set player to play 2x (twice) as fast
  • Set player to play 0.5x (half) as fast
Type:
  • boolean
Inherited From:
Source:
tech/tech.js

featuresProgressEvents :boolean

Boolean indicating wether the Tech supports the progress event. This is currently not triggered by video-js-swf. This will be used to determine if Tech#manualProgressOn should be called.

Type:
  • boolean
Inherited From:
Source:
tech/tech.js

featuresTimeupdateEvents :boolean

Boolean indicating wether the Tech supports the timeupdate event. This is currently not triggered by video-js-swf. This will be used to determine if Tech#manualTimeUpdates should be called.

Type:
  • boolean
Inherited From:
Source:
tech/tech.js

featuresVolumeControl :boolean

Boolean indicating wether the Tech supports volume control.

Type:
  • boolean
Inherited From:
Default Value:
  • true
Source:
tech/tech.js

Methods


<static> checkReady(tech)

The SWF isn't always ready when it says it is. Sometimes the API functions still need to be added to the object. If it's not ready, we set a timeout to check again shortly.

Parameters:
Name Type Description
tech Flash

The instance of the flash tech to check.

Source:
tech/flash.js

<static> embed(swf, flashVars, params, attributes)

Only use for non-iframe embeds.

Parameters:
Name Type Description
swf Object

The videojs-swf object.

flashVars Object

Names and values to use as flash option variables.

params Object

Style parameters to set on the object.

attributes Object

Attributes to set on the element.

Source:
tech/flash.js
Returns:

The embeded Flash DOM element.

Type
Element

<static> getEmbedCode(swf, flashVars, params, attributes)

Only use for non-iframe embeds.

Parameters:
Name Type Description
swf Object

The videojs-swf object.

flashVars Object

Names and values to use as flash option variables.

params Object

Style parameters to set on the object.

attributes Object

Attributes to set on the element.

Source:
tech/flash.js
Returns:

The embeded Flash DOM element.

Type
Element

<static> isSupported()

Check if the Flash tech is currently supported.

Source:
tech/flash.js
Returns:
  • True if the flash tech is supported.
       - False otherwise.
Type
boolean

<static> onError(swfID, The)

Log errors from the swf on the Flash tech.

Parameters:
Name Type Description
swfID number

The id of the swf that had an error.

The string

error string The error to set on the Flash Tech.

Source:
tech/flash.js
Returns:
  • Returns a MediaError when err is 'srcnotfound'
       - Returns undefined otherwise.
Type
MediaError | undefined

<static> onEvent(swfID, eventName)

Trigger events from the swf on the Flash Tech.

Parameters:
Name Type Description
swfID number

The id of the swf that had the event

eventName string

The name of the event to trigger

Source:
tech/flash.js

<static> onReady()

Called when the the swf is "ready", and makes sure that the swf is really ready using Flash#checkReady

Source:
tech/flash.js

<static> version()

Get the current version of Flash that is in use on the page.

Source:
tech/flash.js
Returns:

an array of versions that are available.

Type
Array

addRemoteTextTrack(options [, manualCleanup])

Creates a remote text track object and returns an html track element.

Note: This can be an emulated HTMLTrackElement or a native one.

Parameters:
Name Type Argument Default Description
options Object

See Tech#createRemoteTextTrack for more detailed properties.

manualCleanup boolean <optional>
true
  • When false: the TextTrack will be automatically removed from the video
       element whenever the source changes
     - When True: The TextTrack will have to be cleaned up manually
Inherited From:
Deprecated:
  • The default functionality for this function will be equivalent to "manualCleanup=false" in the future. The manualCleanup parameter will also be removed.
Source:
tech/tech.js
Returns:

An Html Track Element.

Type
HTMLTrackElement

addTextTrack(kind [, label] [, language])

Create and returns a remote TextTrack object.

Parameters:
Name Type Argument Description
kind string

TextTrack kind (subtitles, captions, descriptions, chapters, or metadata)

label string <optional>

Label to identify the text track

language string <optional>

Two letter language abbreviation

Inherited From:
Source:
tech/tech.js
Returns:

The TextTrack that gets created.

Type
TextTrack

addWebVttScript_()

Emulate TextTracks using vtt.js if necessary

Inherited From:
Source:
tech/tech.js
Fires:

audioTracks()

Get the Techs AudioTrackList.

Inherited From:
Source:
tech/tech.js
Returns:

The audio track list that the Tech is currently using.

Type
AudioTrackList

autoplay()

Get the value of autoplay from the swf. autoplay indicates that the media should start to play as soon as the page is ready.

Source:
tech/flash.js
Returns:
  • The value of autoplay from the swf.
      - True indicates that the media ashould start as soon as the page loads.
      - False indicates that the media should not start as soon as the page loads.
Type
boolean

buffered()

Get and create a TimeRange object for buffering.

Overrides:
Source:
tech/flash.js
Returns:

The time range object that was created.

Type
TimeRange

bufferedPercent()

Get the percentage of the current video that is currently buffered.

Inherited From:
Source:
tech/tech.js
Returns:

A number from 0 to 1 that represents the decimal percentage of the video that is buffered.

Type
number

cleanupAutoTextTracks()

Remove any TextTracks added via addRemoteTextTrack that are flagged for automatic garbage collection

Inherited From:
Source:
tech/tech.js

clearTracks(types)

Clear out a single TrackList or an array of TrackLists given their names.

Note: Techs without source handlers should call this between sources for video & audio tracks. You don't want to use them between tracks!

Parameters:
Name Type Description
types Array.<string> | string

TrackList names to clear, valid names are video, audio, and text.

Inherited From:
Source:
tech/tech.js

controller()

Get the value of controller from the swf.

Source:
tech/flash.js
Returns:

The current value of controller on the swf.

Type
string

controls()

Get the value of controls from the swf. controls indicates whether the native flash controls should be shown or hidden.

Source:
tech/flash.js
Returns:
  • The value of controls from the swf.
      - True indicates that native controls should be showing.
      - False indicates that native controls should be hidden.
Type
boolean

controls()

Get the value of controls from the swf. controls indicates whether the native flash controls should be shown or hidden.

Source:
tech/flash.js
Returns:
  • The value of controls from the swf.
      - True indicates that native controls should be showing.
      - False indicates that native controls should be hidden.
Type
boolean

createEl()

Create the Flash Tech's DOM element.

Source:
tech/flash.js
Returns:

The element that gets created.

Type
Element

createRemoteTextTrack(options)

Create an emulated TextTrack for use by addRemoteTextTrack

This is intended to be overridden by classes that inherit from Tech in order to create native or custom TextTracks.

Parameters:
Name Type Description
options Object

The object should contain the options to initialize the TextTrack with.

Properties
Name Type Argument Description
kind string <optional>

TextTrack kind (subtitles, captions, descriptions, chapters, or metadata).

label string <optional>

Label to identify the text track

language string <optional>

Two letter language abbreviation.

Inherited From:
Source:
tech/tech.js
Returns:

The track element that gets created.

Type
HTMLTrackElement

currentTime()

Get the current playback time in seconds

Source:
tech/flash.js
Returns:

The current time of playback in seconds.

Type
number

defaultMuted()

Get the value of defaultMuted from the swf. defaultMuted indicates whether the media should start muted or not. Only changes the default state of the media. muted and defaultMuted can have different values. muted indicates the current state.

Source:
tech/flash.js
Returns:
  • The value of defaultMuted from the swf.
      - True indicates that the media should start muted.
      - False indicates that the media should not start muted.
Type
boolean

defaultPlaybackRate()

Get the value of defaultPlaybackRate from the swf.

Source:
tech/flash.js
Returns:

The current value of defaultPlaybackRate on the swf.

Type
number

dispose()

Turn off all event polyfills, clear the Techs AudioTrackList, VideoTrackList, and TextTrackList, and dispose of this Tech.

Inherited From:
Source:
tech/tech.js
Fires:

duration()

Get the total duration of the current media.

Source:
tech/flash.js
Returns:

8 The total duration of the current media.

Type
number

ended()

Get the value of ended from the swf. ended indicates whether the media has reached the end or not.

Source:
tech/flash.js
See:
Returns:
  • True indicates that the media has ended.
      - False indicates that the media has not ended.
Type
boolean

enterFullScreen()

Flash does not allow fullscreen through javascript so this always returns false.

Source:
tech/flash.js
Returns:

The Flash tech does not support fullscreen, so it will always return false.

Type
boolean

error( [err])

Get or set an error on the Tech.

Parameters:
Name Type Argument Description
err MediaError <optional>

Error to set on the Tech

Inherited From:
Source:
tech/tech.js
Returns:

The current error object on the tech, or null if there isn't one.

Type
MediaError | null

getVideoPlaybackQuality()

Gets available media playback quality metrics as specified by the W3C's Media Playback Quality API.

Overrides:
Source:
tech/flash.js
See:
Returns:

An object with supported media playback quality metrics

Type
Object

initialTime()

Get the value of initialTime from the swf.

Source:
tech/flash.js
Returns:

The initialTime proprety on the swf.

Type
number

initTextTrackListeners()

Turn on listeners for TextTrackList events. This adds EventTarget~EventListeners for texttrackchange, addtrack and removetrack.

Inherited From:
Source:
tech/tech.js
Fires:

initTrackListeners()

Turn on listeners for VideoTrackList and {AudioTrackList events. This adds EventTarget~EventListeners for addtrack, and removetrack.

Inherited From:
Source:
tech/tech.js
Fires:

load()

Load media into Tech.

Source:
tech/flash.js

loop()

Get the value of loop from the swf. loop indicates that the media should return to the start of the media and continue playing once it reaches the end.

Source:
tech/flash.js
Returns:
  • The value of loop from the swf.
      - True indicates that playback should seek back to start once
        the end of a media is reached.
      - False indicates that playback should not loop back to the start when the
        end of the media is reached.
Type
boolean

manualProgressOff()

Turn off the polyfill for progress events that was created in Tech#manualProgressOn

Inherited From:
Source:
tech/tech.js

manualProgressOn()

Polyfill the progress event for browsers that don't support it natively.

Inherited From:
Source:
tech/tech.js
See:

manualTimeUpdatesOff()

Turn off the polyfill for timeupdate events that was created in Tech#manualTimeUpdatesOn

Inherited From:
Source:
tech/tech.js

manualTimeUpdatesOn()

Polyfill the timeupdate event for browsers that don't support it.

Inherited From:
Source:
tech/tech.js
See:

mediaGroup()

Get the value of mediaGroup from the swf.

Source:
tech/flash.js
Returns:

The current value of mediaGroup on the swf.

Type
string

muted()

Get the value of the muted from the swf. muted indicates the current audio level should be silent.

Source:
tech/flash.js
Returns:
  • True if the audio should be set to silent
      - False otherwise
Type
boolean

networkState()

Get the value of networkState from the swf. networkState indicates the current network state. It returns an enumeration from the following list:

  • 0: NETWORK_EMPTY
  • 1: NEWORK_IDLE
  • 2: NETWORK_LOADING
  • 3: NETWORK_NO_SOURCE
Source:
tech/flash.js
Returns:

The value of networkState from the swf. This will be a number from the list in the description.

Type
number

onDurationChange(event)

Update our internal duration on a durationchange event by calling Tech#duration.

Parameters:
Name Type Description
event EventTarget~Event

The durationchange event that caused this to run.

Inherited From:
Source:
tech/tech.js
Listens to Events:
  • Tech#event:durationchange

pause()

Called by Player#pause to pause using the Flash Tech.

Source:
tech/flash.js

paused()

Get the value of paused from the swf. paused indicates whether the swf is current paused or not.

Source:
tech/flash.js
Returns:

The value of paused from the swf.

Type
boolean

play()

Called by Player#play to play using the Flash Tech.

Source:
tech/flash.js

playbackRate()

Get the value of playbackRate from the swf. playbackRate indicates the rate at which the media is currently playing back. Examples:

  • if playbackRate is set to 2, media will play twice as fast.
  • if playbackRate is set to 0.5, media will play half as fast.
Source:
tech/flash.js
Returns:

The value of playbackRate from the swf. A number indicating the current playback speed of the media, where 1 is normal speed.

Type
number

played()

Returns the TimeRanges that have been played through for the current source.

NOTE: This implementation is incomplete. It does not track the played TimeRange. It only checks wether the source has played at all or not.

Inherited From:
Source:
tech/tech.js
Returns:
  • A single time range if this video has played
      - An empty set of ranges if not.
Type
TimeRange

<abstract> playsinline()

A method to check for the presence of the 'playsinine'

Inherited From:
Source:
tech/tech.js

poster()

Get the poster image that was set on the tech.

Source:
tech/flash.js

preload()

Get the value of preload from the swf. preload indicates what should download before the media is interacted with. It can have the following values:

  • none: nothing should be downloaded
  • metadata: poster and the first few frames of the media may be downloaded to get media dimensions and other metadata
  • auto: allow the media and metadata for the media to be downloaded before interaction
Source:
tech/flash.js
Returns:

The value of preload from the swf. Will be 'none', 'metadata', or 'auto'.

Type
string

readyState()

Get the value of readyState from the swf. readyState indicates the current state of the media element. It returns an enumeration from the following list:

  • 0: HAVE_NOTHING
  • 1: HAVE_METADATA
  • 2: HAVE_CURRENT_DATA
  • 3: HAVE_FUTURE_DATA
  • 4: HAVE_ENOUGH_DATA
Source:
tech/flash.js
Returns:

The value of readyState from the swf. This will be a number from the list in the description.

Type
number

readyState()

Get the value of readyState from the swf. readyState indicates the current state of the media element. It returns an enumeration from the following list:

  • 0: HAVE_NOTHING
  • 1: HAVE_METADATA
  • 2: HAVE_CURRENT_DATA
  • 3: HAVE_FUTURE_DATA
  • 4: HAVE_ENOUGH_DATA
Source:
tech/flash.js
Returns:

The value of readyState from the swf. This will be a number from the list in the description.

Type
number

remoteTextTrackEls()

Get The Techs {HTMLTrackElementList}, which are the elements in the DOM that are being used as TextTracks.

Inherited From:
Source:
tech/tech.js
Returns:

The current HTML track elements that exist for the tech.

Type
HTMLTrackElementList

remoteTextTracks()

Get the Techs remote TextTrackList, which is created from elements that were added to the DOM.

Inherited From:
Source:
tech/tech.js
Returns:

The remote text track list that the Tech is currently using.

Type
TextTrackList

removeRemoteTextTrack(track)

Remove a remote text track from the remote TextTrackList.

Parameters:
Name Type Description
track TextTrack

TextTrack to remove from the TextTrackList

Inherited From:
Source:
tech/tech.js

<abstract> reset()

Reset the tech, which will removes all sources and reset the internal readyState.

Inherited From:
Source:
tech/tech.js

rtmpConnection()

Get the value of rtmpConnection from the swf.

Source:
tech/flash.js
Returns:

The current value of rtmpConnection on the swf.

Type
string

rtmpStream()

Get the value of rtmpStream from the swf.

Source:
tech/flash.js
Returns:

The current value of rtmpStream on the swf.

Type
string

seekable()

Determine the time ranges that can be seeked to in the media.

Source:
tech/flash.js
Returns:

Returns the time ranges that can be seeked to.

Type
TimeRange

seeking()

Indicates whether the media is currently seeking to a new position or not.

Source:
tech/flash.js
Returns:
  • True if seeking to a new position
      - False otherwise
Type
boolean

setAutoplay(autoplay)

Set the value of autoplay on the swf. autoplay indicates that the media should start to play as soon as the page is ready.

Parameters:
Name Type Description
autoplay boolean
  • The value of autoplay from the swf.
     - True indicates that the media ashould start as soon as the page loads.
     - False indicates that the media should not start as soon as the page loads.
Source:
tech/flash.js

setController(controller)

Set the value of controller on the swf.

Parameters:
Name Type Description
controller string

New value the current value of controller on the swf.

Source:
tech/flash.js

setCurrentTime(time)

Returns the current time in seconds that the media is at in playback.

Parameters:
Name Type Description
time number

Current playtime of the media in seconds.

Overrides:
Source:
tech/flash.js

setDefaultMuted(defaultMuted)

Set the value of defaultMuted on the swf. defaultMuted indicates whether the media should start muted or not. Only changes the default state of the media. muted and defaultMuted can have different values. muted indicates the current state.

Parameters:
Name Type Description
defaultMuted boolean
  • True indicates that the media should start muted.
      - False indicates that the media should not start muted.
Source:
tech/flash.js

setDefaultPlaybackRate(defaultPlaybackRate)

Set the value of defaultPlaybackRate on the swf.

Parameters:
Name Type Description
defaultPlaybackRate number

New value to set the defaultPlaybackRate property to.

Source:
tech/flash.js

setLoop(loop)

Set the value of loop on the swf. loop indicates that the media should return to the start of the media and continue playing once it reaches the end.

Parameters:
Name Type Description
loop boolean
  • True indicates that playback should seek back to start once
       the end of a media is reached.
     - False indicates that playback should not loop back to the start when the
       end of the media is reached.
Source:
tech/flash.js

setMediaGroup(mediaGroup)

Set the value of mediaGroup on the swf.

Parameters:
Name Type Description
mediaGroup string

New value of mediaGroup to set on the swf.

Source:
tech/flash.js

setMuted(muted)

Set the value of the muted on the swf. muted indicates that the current audio level should be silent.

Parameters:
Name Type Description
muted boolean
  • True if the audio should be set to silent
      - False otherwise
Source:
tech/flash.js

setPlaybackRate(playbackRate)

Set the value of playbackRate on the swf. playbackRate indicates the rate at which the media is currently playing back. Examples:

  • if playbackRate is set to 2, media will play twice as fast.
  • if playbackRate is set to 0.5, media will play half as fast.
Parameters:
Name Type Description
playbackRate number

New value of playbackRate on the swf. A number indicating the current playback speed of the media, where 1 is normal speed.

Source:
tech/flash.js

<abstract> setPlaysinline()

A method to set or unset the 'playsinine'

Inherited From:
Source:
tech/tech.js

setPoster()

Poster images are not handled by the Flash tech so make this is a no-op.

Overrides:
Source:
tech/flash.js

setPreload(preload)

Set the value of preload on the swf. preload indicates what should download before the media is interacted with. It can have the following values:

  • none: nothing should be downloaded
  • metadata: poster and the first few frames of the media may be downloaded to get media dimensions and other metadata
  • auto: allow the media and metadata for the media to be downloaded before interaction
Parameters:
Name Type Description
preload string

The value of preload to set on the swf. Should be 'none', 'metadata', or 'auto'.

Source:
tech/flash.js

setRtmpConnection(rtmpConnection)

Set the value of rtmpConnection on the swf.

Parameters:
Name Type Description
rtmpConnection string

New value to set the rtmpConnection property to.

Source:
tech/flash.js

setRtmpStream(rtmpStream)

Set the value of rtmpStream on the swf.

Parameters:
Name Type Description
rtmpStream string

New value to set the rtmpStream property to.

Source:
tech/flash.js

setSrc( [src])

A getter/setter for the Flash Tech's source object.

Parameters:
Name Type Argument Description
src Tech~SourceObject <optional>

The source object you want to set on the Flash techs.

Source:
tech/flash.js
Returns:
  • The current source object when a source is not passed in.
      - undefined when setting
Type
Tech~SourceObject | undefined

setVolume(percentAsDecimal)

Set the value of the volume on the swf. volume indicates the current audio level as a percentage in decimal form. This means that 1 is 100%, 0.5 is 50%, and so on.

Parameters:
Name Type Description
percentAsDecimal number

The volume percent as a decimal. Value will be between 0-1.

Source:
tech/flash.js

src( [src])

A getter/setter for the Flash Tech's source object.

Note: Please use Flash#setSource

Parameters:
Name Type Argument Description
src Tech~SourceObject <optional>

The source object you want to set on the Flash techs.

Deprecated:
  • Since version 5.
Source:
tech/flash.js
Returns:
  • The current source object when a source is not passed in.
      - undefined when setting
Type
Tech~SourceObject | undefined

startOffsetTime()

Get the value of startOffsetTime from the swf.

Source:
tech/flash.js
Returns:

The startOffsetTime proprety on the swf.

Type
number

stopTrackingCurrentTime()

Stop the interval function created in Tech#trackCurrentTime so that the timeupdate event is no longer triggered.

Inherited From:
Source:
tech/tech.js
Listens to Events:
  • {Tech#event:pause}

stopTrackingProgress()

Turn off the polyfill for progress events that was created in Tech#manualProgressOn Stop manually tracking progress events by clearing the interval that was set in Tech#trackProgress.

Inherited From:
Source:
tech/tech.js

supportsFullScreen()

Get fullscreen support -

Flash does not allow fullscreen through javascript so this always returns false.

Source:
tech/flash.js
Returns:

The Flash tech does not support fullscreen, so it will always return false.

Type
boolean

textTracks()

Get the Techs TextTrackList.

Inherited From:
Source:
tech/tech.js
Returns:

The text track list that the Tech is currently using.

Type
TextTrackList

trackCurrentTime()

Sets up an interval function to track current time and trigger timeupdate every 250 milliseconds.

Inherited From:
Source:
tech/tech.js
Listens to Events:
  • Tech#event:play

trackProgress(event)

This is used to trigger a progress event when the buffered percent changes. It sets an interval function that will be called every 500 milliseconds to check if the buffer end percent has changed.

This function is called by Tech#manualProgressOn

Parameters:
Name Type Description
event EventTarget~Event

The ready event that caused this to run.

Inherited From:
Source:
tech/tech.js
Fires:
Listens to Events:

videoTracks()

Get the Techs VideoTrackList.

Inherited From:
Source:
tech/tech.js
Returns:

The video track list that the Tech is currently using.

Type
VideoTrackList

videoWidth()

Get the value of videoWidth from the swf. videoWidth indicates the current width of the media in css pixels.

Source:
tech/flash.js
Returns:

The value of videoWidth from the swf. This will be a number in css pixels.

Type
number

volume()

Get the value of the volume from the swf. volume indicates the current audio level as a percentage in decimal form. This means that 1 is 100%, 0.5 is 50%, and so on.

Source:
tech/flash.js
Returns:

The volume percent as a decimal. Value will be between 0-1.

Type
number

Type Definitions


PartsObject

The flash parts object that contains connection and stream info.

Type:
  • Object
Properties:
Name Type Description
connection string

The connection string of a source, defaults to an empty string.

stream string

The stream string of the source, defaults to an empty string.

Source:
tech/flash-rtmp.js

Events


audiotrackchange

Triggered when tracks are added or removed on the Tech AudioTrackList

Type: EventTarget~Event
Inherited From:
Source:
tech/tech.js

progress

See Player#progress

Type: EventTarget~Event
Inherited From:
Source:
tech/tech.js

texttrackchange

Triggered when tracks are added or removed on the Tech TextTrackList

Type: EventTarget~Event
Inherited From:
Source:
tech/tech.js

timeupdate

Triggered at an interval of 250ms to indicated that time is passing in the video.

Type: EventTarget~Event
Inherited From:
Overrides:
Source:
tech/tech.js

videotrackchange

Triggered when tracks are added or removed on the Tech VideoTrackList

Type: EventTarget~Event
Inherited From:
Source:
tech/tech.js

vttjsloaded

Fired when vtt.js is loaded.

Type: EventTarget~Event
Inherited From:
Overrides:
Source:
tech/tech.js