|
JSR-927 (Maintenance Release) | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
MediaSelectControl
allows the selection of different
kinds of content in a running Player
. It serves as
a high level demultiplex control, where the selection is specified
by locators indicating one or more service components to
present.
If the Player
on which a
MediaSelectControl
operates is an instance of
ServiceMediaHandler
, then
MediaSelectControl
is restricted to operating only on
service components belonging to the service with which the
ServiceMediaHandler
is associated (that is, the
ServiceContext
's currently selected service).
A MediaSelectControl
which is not associated with
a ServiceMediaHandler
may also have restrictions
on the set of services which it may access.
Instances of MediaSelectControl
may be obtained from a
JMF Player
via the methods
getControl(String)
and getControls()
.
A Java TV API implementation may not always or ever
support MediaSelectControl
for a given Player; in such
a case, the failure modes specified by the two aforementioned
methods will apply.
Applications should note that the set of selected service components
can be changed by entities other than themselves.
Such changes will be reported to the MediaSelectListener
s
currently registered.
Player
,
Controller.getControls()
,
ServiceMediaHandler
,
ServiceContext
Method Summary | |
void |
add(Locator component)
Adds a service component (for example, subtitles) to the presentation. |
void |
addMediaSelectListener(MediaSelectListener listener)
Subscribes the specified MediaSelectListener to
receive events related to media selection on this Player. |
Locator[] |
getCurrentSelection()
Reports the components of the current selection. |
void |
remove(Locator component)
Removes a service component from the presentation. |
void |
removeMediaSelectListener(MediaSelectListener listener)
Unsubscribes the specified MediaSelectListener from
receiving events related to media selection on this Player. |
void |
replace(Locator fromComponent,
Locator toComponent)
Replaces a service component in the presentation. |
void |
select(Locator component)
Selects a new service component for presentation. |
void |
select(Locator[] components)
Selects one or more service components for presentation. |
Methods inherited from interface javax.media.Control |
getControlComponent |
Method Detail |
public void select(Locator component) throws InvalidLocatorException, InvalidServiceComponentException, InsufficientResourcesException, java.lang.SecurityException
MediaSelectEvent
. Note that for certain
selections that imply a different time base or otherwise change
synchronization relationships, a RestartingEvent
will be posted by the Player
.
component
- A locator representing an individual service
component to present.
InvalidLocatorException
- If the locator does not reference
a selectable service component.
InvalidServiceComponentException
- If the specified
service component is not part of the set of services
to which the MediaSelectControl
is restricted, or if
it cannot be presented alone.
InsufficientResourcesException
- If the operation cannot be
completed due to a lack of system resources.
java.lang.SecurityException
- If the caller does not have
MediaSelectPermission(component)
permission.public void select(Locator[] components) throws InvalidLocatorException, InvalidServiceComponentException, InsufficientResourcesException, java.lang.SecurityException
MediaSelectEvent
.
If some of the specified components are successfully selected and
others are not, a MediaSelectSucceededEvent
is
generated with the locator array containing only those
components that were successfully selected.
Note that for certain
selections that imply a different time base or otherwise change
synchronization relationships, a RestartingEvent
will be posted by the Player
.
components
- An array of locators representing a set of
individual service components to present together.
InvalidLocatorException
- If a locator provided does not
reference a selectable service component.
InvalidServiceComponentException
- If a specified service
component is not part of the set of services to which
the MediaSelectControl
is restricted, if a
specified service component must be presented in conjunction
with another service component not contained in
components
, if the specified set
of service components cannot be presented as a coherent whole,
or if the service components are not all available
simultaneously.
InsufficientResourcesException
- If the operation cannot be
completed due to a lack of system resources.
java.lang.SecurityException
- If the caller does not have
MediaSelectPermission(components[i])
permission
for any valid i
.
java.lang.IllegalArgumentException
- If components
is a
zero-length array.public void add(Locator component) throws InvalidLocatorException, InvalidServiceComponentException, InsufficientResourcesException, java.lang.SecurityException
MediaSelectEvent
.
Components whose addition would require Player
resynchronization are not permitted. If the specified service
component is already part of the presentation, this method does
nothing.
component
- The locator representing an individual service
component to add to the presentation.
InvalidLocatorException
- If the specified locator does
not reference a selectable service component.
InvalidServiceComponentException
- If the addition of the
service component would require resynchronization of the
Player
, if the service component
is not part of the set of services to which the
MediaSelectControl
is restricted, or if the service
component must be presented in conjunction with another service
component that is not part of the current presentation.
InsufficientResourcesException
- If the operation cannot be
completed due to a lack of system resources.
java.lang.SecurityException
- If the caller does not have
MediaSelectPermission(component)
permission.public void remove(Locator component) throws InvalidLocatorException, InvalidServiceComponentException, java.lang.SecurityException
MediaSelectEvent
. Components whose removal would
require Player resynchronization are not permitted.
component
- The locator representing an individual service
component to remove from the presentation.
InvalidLocatorException
- If the specified locator does
not reference a service component in the current selection.
InvalidServiceComponentException
- If removal of the
specified service component would require resynchronization of
the Player
, or if another service component in
the current presentation must be presented in conjunction with
component
.
java.lang.SecurityException
- If the caller does not have
MediaSelectPermission(component)
permission.public void replace(Locator fromComponent, Locator toComponent) throws InvalidLocatorException, InvalidServiceComponentException, InsufficientResourcesException, java.lang.SecurityException
MediaSelectEvent
. Components whose replacement
would require Player resynchronization are not permitted.
fromComponent
- The locator that represents the service
component to remove from the presentation.toComponent
- The locator that represents the service
component to add to the presentation.
InvalidLocatorException
- If fromComponent
does not reference a service component in the current
selection, or if toComponent
does not reference a
selectable service component.
InvalidServiceComponentException
- If
toComponent
references a service component that is
not part of the set of services to which the
MediaSelectControl
is restricted, if
fromComponent
or toComponent
reference
service components for which this operation would require
resynchronization of the Player
, if another service
component in the current presentation must be presented in
conjunction with fromComponent
, or if
toComponent
must be presented in conjunction with a
service component not in the resulting presentation.
InsufficientResourcesException
- If the operation cannot be
completed due to a lack of system resources.
java.lang.SecurityException
- If the caller does not have
MediaSelectPermission(fromComponent)
and
MediaSelectPermission(toComponent)
permission.public void addMediaSelectListener(MediaSelectListener listener)
MediaSelectListener
to
receive events related to media selection on this Player.
No action is performed if the specified MediaSelectListener
is already subscribed.
listener
- The MediaSelectListener
to which
to send events.public void removeMediaSelectListener(MediaSelectListener listener)
MediaSelectListener
from
receiving events related to media selection on this Player.
No action is performed if the specified MediaSelectListener
is not subscribed.
listener
- The MediaSelectListener
to unsubscribe.public Locator[] getCurrentSelection()
|
JSR-927 (Maintenance Release) | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |