|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.google.gwt.user.client.ui.UIObject
com.google.gwt.user.client.ui.Widget
com.google.gwt.user.client.ui.Composite
com.bramosystems.oss.player.core.client.AbstractMediaPlayer
com.bramosystems.oss.player.core.client.ui.WinMediaPlayer
public class WinMediaPlayer
Widget to embed Windows Media Player™ plugin.
SimplePanel panel = new SimplePanel(); // create panel to hold the player
Widget player = null;
try {
// create the player
player = new WinMediaPlayer("www.example.com/mediafile.wma");
} catch(LoadException e) {
// catch loading exception and alert user
Window.alert("An error occured while loading");
} catch(PluginVersionException e) {
// catch plugin version exception and alert user, possibly providing a link
// to the plugin download page.
player = new HTML(".. some nice message telling the user to download plugin first ..");
} catch(PluginNotFoundException e) {
// catch PluginNotFoundException and tell user to download plugin, possibly providing
// a link to the plugin download page.
player = new HTML(".. another kind of message telling the user to download plugin..");
}
panel.setWidget(player); // add player to panel.
Embedding in non-IE browsers
As of version 1.2, this widget requires the Windows Media Player plugin for Firefox in
non-IE browsers. The plugin provides javascript support for the underlying Windows Media
Player™. However, this requirement can be suppressed if the need is simply
to embed Windows Media Player™ without any programmatic access. In this case, all method
calls are ignored.
| Nested Class Summary | |
|---|---|
static class |
WinMediaPlayer.EmbedMode
An enum of embed modes of the WinMediaPlayer widget. |
static class |
WinMediaPlayer.MediaAccessRights
An enum of Library Access levels of the Windows Media Player™ plugin. |
static class |
WinMediaPlayer.UIMode
An enum of user interface modes of the Windows Media Player™ plugin. |
| Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject |
|---|
com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled |
| Field Summary |
|---|
| Fields inherited from class com.google.gwt.user.client.ui.UIObject |
|---|
DEBUG_ID_PREFIX |
| Constructor Summary | |
|---|---|
WinMediaPlayer(String mediaURL)
Constructs WinMediaPlayer to automatically playback media located at
mediaURL using the default height of 50px and width of 100%. |
|
WinMediaPlayer(String mediaURL,
boolean autoplay)
Constructs WinMediaPlayer to playback media located at mediaURL using
the default height of 50px and width of 100%. |
|
WinMediaPlayer(String mediaURL,
boolean autoplay,
String height,
String width)
Constructs WinMediaPlayer with the specified height and
width to playback media located at mediaURL. |
|
WinMediaPlayer(String mediaURL,
boolean autoplay,
String height,
String width,
WinMediaPlayer.EmbedMode embedMode)
Constructs WinMediaPlayer with the specified height and
width to playback media located at mediaURL. |
|
| Method Summary | ||
|---|---|---|
void |
addToPlaylist(List<MRL> mediaLocators)
Adds the media locators to the players' playlist. |
|
void |
addToPlaylist(MRL mediaLocator)
Adds the media locator to the players' playlist. |
|
void |
addToPlaylist(String... mediaURLs)
Adds the media at the specified URLs to the players' playlist. |
|
void |
addToPlaylist(String mediaURL)
Adds the media at the specified URL to the players' playlist. |
|
void |
clearPlaylist()
Removes all entries in the players' playlist |
|
int |
getLoopCount()
Returns the number of times this player repeats playback before stopping. |
|
WinMediaPlayer.MediaAccessRights |
getMediaAccessRights()
Retrieves the current media library access rights of the player |
|
long |
getMediaDuration()
Returns the duration of the loaded media in milliseconds. |
|
int |
getPlaylistSize()
Returns the number of entries in the playlist |
|
double |
getPlayPosition()
Gets the current position in the media that is being played. |
|
double |
getRate()
Returns the current playback rate |
|
RepeatMode |
getRepeatMode()
Returns the current playback repeat mode |
|
WinMediaPlayer.UIMode |
getUIMode()
Retrieves the current UI mode of the player |
|
int |
getVideoHeight()
Returns the height of the current media |
|
int |
getVideoWidth()
Returns the width of the current media |
|
double |
getVolume()
Gets the volume ranging from 0 (silent) to 1 (full volume). |
|
boolean |
isControllerVisible()
Checks whether the player controls are visible. |
|
boolean |
isResizeToVideoSize()
Checks if player is set to adjust its size to match the dimensions of a video. |
|
boolean |
isShuffleEnabled()
Checks if this player is in shuffle mode. |
|
void |
loadMedia(String mediaURL)
Loads the media at the specified URL into the player. |
|
protected void |
onLoad()
Overridden to register player for plugin DOM events |
|
protected void |
onUnload()
Overridden to release resources |
|
void |
pauseMedia()
Pause the media playback |
|
void |
play(int index)
Play playlist entry at the specified index |
|
void |
playMedia()
Plays the media loaded into the player. |
|
void |
playNext()
Plays the next item in the playlist |
|
void |
playPrevious()
Plays the previous item in the playlist |
|
void |
removeFromPlaylist(int index)
Removes the entry at the specified index from the players' playlist. |
|
|
setConfigParameter(ConfigParameter param,
T value)
Sets the specified player parameter to the specified value IF AND ONLY IF the parameter is applicable on the player |
|
void |
setControllerVisible(boolean show)
Displays or hides the player controls. |
|
void |
setLoopCount(int loop)
Sets the number of times the current media file should repeat playback before stopping. |
|
void |
setMediaAccessRights(WinMediaPlayer.MediaAccessRights accessRights)
Sets the media library access rights level of the player. |
|
void |
setPlayPosition(double position)
Sets the playback position of the current media |
|
void |
setRate(double rate)
Sets the playback rate. |
|
void |
setRepeatMode(RepeatMode mode)
Puts the player in the specified repeat mode. |
|
void |
setResizeToVideoSize(boolean resize)
If the current media is a video, sets the player to adjust its size to match the dimensions of the video |
|
void |
setShuffleEnabled(boolean enable)
Enables or disables players' shuffle mode. |
|
void |
setUIMode(WinMediaPlayer.UIMode uiMode)
Sets the UI mode of the player |
|
void |
setVolume(double volume)
Sets the volume. |
|
void |
showLogger(boolean enable)
Displays or hides the players' logger widget. |
|
void |
stopMedia()
Stops the media playback. |
|
| Methods inherited from class com.bramosystems.oss.player.core.client.AbstractMediaPlayer |
|---|
addDebugHandler, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addLoadingProgressHandler, addMediaInfoHandler, addMouseDownHandler, addMouseMoveHandler, addMouseUpHandler, addPlayerStateHandler, addPlayStateHandler, addToPlayerReadyCommandQueue, fireDebug, fireError, fireLoadingProgress, fireMediaInfoAvailable, firePlayerStateEvent, firePlayStateEvent, getWidgetFactory, isPlayerOnPage, removeFromPlayerReadyCommandQueue, setConfigParameter, setConfigParameter |
| Methods inherited from class com.google.gwt.user.client.ui.Composite |
|---|
getWidget, initWidget, isAttached, onAttach, onBrowserEvent, onDetach, setWidget |
| Methods inherited from class com.google.gwt.user.client.ui.Widget |
|---|
addAttachHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getHandlerCount, getLayoutData, getParent, isOrWasAttached, removeFromParent, setLayoutData, sinkEvents |
| Methods inherited from class com.google.gwt.user.client.ui.UIObject |
|---|
addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, toString, unsinkEvents |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface com.google.gwt.event.shared.HasHandlers |
|---|
fireEvent |
| Constructor Detail |
|---|
public WinMediaPlayer(String mediaURL,
boolean autoplay,
String height,
String width,
WinMediaPlayer.EmbedMode embedMode)
throws LoadException,
PluginNotFoundException,
PluginVersionException
WinMediaPlayer with the specified height and
width to playback media located at mediaURL. Media playback
begins automatically if autoplay is true.
The embedMode parameter is provided to permit using the widget without any other
programmatic access.
height and width are specified as CSS units. A value of null
for height or width puts the player in embedded mode. When in embedded mode,
the player is made invisible on the page and media state events are propagated to registered
listeners only. This is desired especially when used with custom sound controls. For custom
video control, specify valid CSS values for height and width but hide the
player controls with setControllerVisible(false).
mediaURL - the URL of the media to playbackautoplay - true to start playing automatically, false otherwiseheight - the height of the playerwidth - the width of the player.embedMode - the embed mode of the widget
LoadException - if an error occurs while loading the media.
PluginVersionException - if the required Windows Media Player plugin version is not installed on the client.
PluginNotFoundException - if the Windows Media Player plugin is not installed on the client.WinMediaPlayer.EmbedMode
public WinMediaPlayer(String mediaURL,
boolean autoplay,
String height,
String width)
throws LoadException,
PluginNotFoundException,
PluginVersionException
WinMediaPlayer with the specified height and
width to playback media located at mediaURL. Media playback
begins automatically if autoplay is true.
height and width are specified as CSS units. A value of null
for height or width puts the player in embedded mode. When in embedded mode,
the player is made invisible on the page and media state events are propagated to registered
listeners only. This is desired especially when used with custom sound controls. For custom
video control, specify valid CSS values for height and width but hide the
player controls with setControllerVisible(false).
This is the same as calling WinMediaPlayer(mediaURL, true, "50px", "100%", EmbedMode.PROGRAMMABLE)
mediaURL - the URL of the media to playbackautoplay - true to start playing automatically, false otherwiseheight - the height of the playerwidth - the width of the player.
LoadException - if an error occurs while loading the media.
PluginVersionException - if the required Windows Media Player plugin version is not installed on the client.
PluginNotFoundException - if the Windows Media Player plugin is not installed on the client.
public WinMediaPlayer(String mediaURL)
throws LoadException,
PluginNotFoundException,
PluginVersionException
WinMediaPlayer to automatically playback media located at
mediaURL using the default height of 50px and width of 100%.
This is the same as calling WinMediaPlayer(mediaURL, true, "50px", "100%")
mediaURL - the URL of the media to playback
LoadException - if an error occurs while loading the media.
PluginVersionException - if the required Windows Media Player plugin version is not installed on the client.
PluginNotFoundException - if the Windows Media Player plugin is not installed on the client.
public WinMediaPlayer(String mediaURL,
boolean autoplay)
throws LoadException,
PluginNotFoundException,
PluginVersionException
WinMediaPlayer to playback media located at mediaURL using
the default height of 50px and width of 100%. Media playback begins automatically if
autoplay is true.
This is the same as calling WinMediaPlayer(mediaURL, autoplay, "50px", "100%")
mediaURL - the URL of the media to playbackautoplay - true to start playing automatically, false otherwise
LoadException - if an error occurs while loading the media.
PluginVersionException - if the required Windows Media Player plugin version is not installed on the client.
PluginNotFoundException - if the Windows Media Player plugin is not installed on the client.| Method Detail |
|---|
protected final void onLoad()
onLoad in class com.google.gwt.user.client.ui.Widgetprotected void onUnload()
onUnload in class com.google.gwt.user.client.ui.Widget
public void loadMedia(String mediaURL)
throws LoadException
AbstractMediaPlayerIn respect of the same domain policy of some plugins,
the URL should point to a destination on the same domain
where the application is hosted.
loadMedia in class AbstractMediaPlayermediaURL - the URL of the media to load into the player.
LoadException - if an error occurs while loading the media
public void playMedia()
throws PlayException
AbstractMediaPlayer
playMedia in class AbstractMediaPlayerPlayException - if an error occurs
during media playback.public void stopMedia()
AbstractMediaPlayer
stopMedia in class AbstractMediaPlayerpublic void pauseMedia()
AbstractMediaPlayer
pauseMedia in class AbstractMediaPlayerpublic long getMediaDuration()
AbstractMediaPlayer
getMediaDuration in class AbstractMediaPlayerpublic double getPlayPosition()
AbstractMediaPlayer
getPlayPosition in class AbstractMediaPlayerpublic void setPlayPosition(double position)
AbstractMediaPlayer
setPlayPosition in class AbstractMediaPlayerposition - the new position from where to start playbackpublic double getVolume()
AbstractMediaPlayer0 (silent) to 1 (full volume).
getVolume in class AbstractMediaPlayerpublic void setVolume(double volume)
AbstractMediaPlayer
setVolume in class AbstractMediaPlayervolume - 0 (silent) to 1 (full volume).public void showLogger(boolean enable)
AbstractMediaPlayer
showLogger in class AbstractMediaPlayerenable - true to make the logger widget visible, false otherwise.Loggerpublic void setControllerVisible(boolean show)
setControllerVisible in class AbstractMediaPlayershow - true to make the player controls visible, false otherwise.public boolean isControllerVisible()
isControllerVisible in class AbstractMediaPlayertrue if player controls are visible, false otherwise.public int getLoopCount()
getLoopCount in class AbstractMediaPlayerpublic void setLoopCount(int loop)
As of version 1.0, if this player is not available on the panel, this method call is added to the command-queue for later execution.
setLoopCount in class AbstractMediaPlayerloop - number of times to repeat playback. A negative value makes playback repeat forever!.public int getVideoHeight()
AbstractMediaPlayer
getVideoHeight in class AbstractMediaPlayerpublic int getVideoWidth()
AbstractMediaPlayer
getVideoWidth in class AbstractMediaPlayerpublic void setResizeToVideoSize(boolean resize)
AbstractMediaPlayer
setResizeToVideoSize in class AbstractMediaPlayerresize - true if player should adjust its size,
false otherwisepublic boolean isResizeToVideoSize()
AbstractMediaPlayer
isResizeToVideoSize in class AbstractMediaPlayertrue if player adjusts its size, false otherwisepublic WinMediaPlayer.MediaAccessRights getMediaAccessRights()
public void setMediaAccessRights(WinMediaPlayer.MediaAccessRights accessRights)
If the player is not attached to a player, this call is scheduled for execution when the underlying plugin is initialized.
Note: The request succeeds IF AND ONLY IF the user grants this permission.
Note: This operation ALWAYS FAIL on browsers using the Windows Media Player plugin for Firefox.
accessRights - access levelpublic void setUIMode(WinMediaPlayer.UIMode uiMode)
If the player is not attached to a player, this call is scheduled for execution when the underlying plugin is initialized.
Note - Google Chrome 3: This method fails! As of version 1.1 use setConfigParameter(ConfigParameter, ConfigValue) instead.
uiMode - the UI mode to setpublic WinMediaPlayer.UIMode getUIMode()
public <T extends ConfigValue> void setConfigParameter(ConfigParameter param,
T value)
AbstractMediaPlayerNote: The parameter-value pairs are applied as HTML param tags on the underlying player plugin, therefore this method should be called before adding this player to a panel otherwise the method call will have no effect.
setConfigParameter in class AbstractMediaPlayerT - the paramter value typeparam - the configuration parametervalue - the parameter valuepublic void setRate(double rate)
AbstractMediaPlayerIf this player is not available on the panel, this method call is added to the command-queue for later execution.
setRate in class AbstractMediaPlayerrate - the playback rate. A rate of 1 implies normal playback rate,
fractional values are slow motion, and values greater than one are fast-forwardpublic double getRate()
AbstractMediaPlayer
getRate in class AbstractMediaPlayerAbstractMediaPlayer.setRate(double)public void setShuffleEnabled(boolean enable)
PlaylistSupport
setShuffleEnabled in interface PlaylistSupportenable - true to enable shuffle, false otherwisepublic boolean isShuffleEnabled()
PlaylistSupport
isShuffleEnabled in interface PlaylistSupporttrue if player is in shuffle mode, false otherwise.public void addToPlaylist(String mediaURL)
PlaylistSupportIn respect of the same domain policy of some plugins/browsers, the URL should point to a destination on the same domain where the application is hosted.
addToPlaylist in interface PlaylistSupportmediaURL - the URL of the media.public void addToPlaylist(MRL mediaLocator)
PlaylistSupport
addToPlaylist in interface PlaylistSupportmediaLocator - specifies alternative URLs of the same mediapublic void addToPlaylist(String... mediaURLs)
PlaylistSupportThe player chooses ONLY ONE of the mediaURLs it supports.
In respect of the same domain policy of some browsers, the URLs should point to a destination on the same domain where the application is hosted.
addToPlaylist in interface PlaylistSupportmediaURLs - the alternative URLs of the same media (probably in different formats).public void addToPlaylist(List<MRL> mediaLocators)
PlaylistSupport
addToPlaylist in interface PlaylistSupportmediaLocators - list of alternative URLs of the same mediapublic void removeFromPlaylist(int index)
PlaylistSupport
removeFromPlaylist in interface PlaylistSupportindex - the index of the playlist entry.public void clearPlaylist()
PlaylistSupport
clearPlaylist in interface PlaylistSupport
public void playNext()
throws PlayException
PlaylistSupport
playNext in interface PlaylistSupportPlayException - if there are no more entries in the playlist to be played. Especially if we've
advanced to the end of the playlist. Note: A player with a negative loop count (i.e. set to play
forever!) may not throw this exception
public void playPrevious()
throws PlayException
PlaylistSupport
playPrevious in interface PlaylistSupportPlayException - if there are no more entries in the playlist to be played. Especially if we've
gotten to the beginning of the playlist. Note: A player with a negative loop count (i.e. set to play
forever!) may not throw this exception
public void play(int index)
throws IndexOutOfBoundsException
PlaylistSupportindex
play in interface PlaylistSupportindex - number of the playlist entry
IndexOutOfBoundsException - if index is outside the bounds of the playlistpublic int getPlaylistSize()
PlaylistSupport
getPlaylistSize in interface PlaylistSupportpublic RepeatMode getRepeatMode()
AbstractMediaPlayer
getRepeatMode in class AbstractMediaPlayerRepeatModepublic void setRepeatMode(RepeatMode mode)
AbstractMediaPlayerThe effect of the specified mode depends on the AbstractMediaPlayer.setLoopCount(int) property as
shown in the table:
Value of loopCount |
Value of repeatMode |
What it means? |
|---|---|---|
| Any value < 0 | Sets repeatMode to RepeatMode.REPEAT_ALL |
Playlist is repeated continously |
| 1 | RepeatMode.REPEAT_OFF |
Entire playlist is played only once |
RepeatMode.REPEAT_ONE |
The current playlist entry is repeated continously | |
RepeatMode.REPEAT_ALL |
Entire playlist is repeated continously | |
| Any value > 1 | RepeatMode.REPEAT_OFF |
The loopCount property is ignored, and the entire playlist is played only once |
RepeatMode.REPEAT_ONE |
Player repeats each playlist entry for the number of times specified by loopCount
and moves on the next until all entries are played and stops |
|
RepeatMode.REPEAT_ALL |
Player repeats entire playlist for the number of times specified by loopCount and stops |
setRepeatMode in class AbstractMediaPlayermode - the new repeat modeRepeatMode
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||