Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright 2002 Sun Microsystems, Inc.; Nokia Corporation. See the Copyright Notice and Specification License for more details.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.microedition.media
Interface PlayerListener

public interface PlayerListener

`PlayerListener` is the interface for receiving asynchronous events generated by `Players`. Applications may implement this interface and register their implementations with the `addPlayerListener` method in `Player`.

A number of standard `Player` events are defined here in this interface. Event types are defined as strings to support extensibility as different implementations may introduce proprietary events by adding new event types. To avoid name conflicts, proprietary events should be named with the "reverse-domainname" convention. For example, a company named "mycompany" should name its proprietary event names with strings like `"com.mycompany.myEvent"` etc.

Applications that rely on proprietary events may not function properly across different implementations. In order to make the applications that use those events to behave well in environments that don't implement them, `String.equals()` should be used to check the event.

#### Code fragment for catching standard events in playerUpdate()

> `if (eventType == PlayerListener.STARTED) {...}`

#### Code fragment for catching proprietary events in playerUpdate()

> `if (eventType.equals("com.company.myEvent")) {...}`

See Also:
  `Player`

Field Summary
`static java.lang.String` | `BUFFERING_STARTED` Posted when the `Player` enters into a buffering mode.
`static java.lang.String` | `BUFFERING_STOPPED` Posted when the `Player` leaves the buffering mode.
`static java.lang.String` | `CLOSED` Posted when a `Player` is closed.
`static java.lang.String` | `DEVICE_AVAILABLE` Posted when the system or another higher priority application has released an exclusive device which is now available to the `Player`.
`static java.lang.String` | `DEVICE_UNAVAILABLE` Posted when the system or another higher priority application has temporarily taken control of an exclusive device which was previously available to the `Player`.
`static java.lang.String` | `DURATION_UPDATED` Posted when the duration of a `Player` is updated.
`static java.lang.String` | `END_OF_MEDIA` Posted when a `Player` has reached the end of the media.
`static java.lang.String` | `ERROR` Posted when an error had occurred.
`static java.lang.String` | `RECORD_ERROR` Posted when an error occurs during the recording.
`static java.lang.String` | `RECORD_STARTED` Posted when recording is started.
`static java.lang.String` | `RECORD_STOPPED` Posted when recording is stopped.
`static java.lang.String` | `SIZE_CHANGED` Posted when the size of the video is changed either because the source video size or the display size is changed.
`static java.lang.String` | `STARTED` Posted when a `Player` is started.
`static java.lang.String` | `STOPPED` Posted when a `Player` stops in response to the `stop` method call.
`static java.lang.String` | `STOPPED_AT_TIME` Posted when a `Player` is stopped as responding to the `setStopTime` call using the `StopTimeControl`.
`static java.lang.String` | `VOLUME_CHANGED` Posted when the volume of an audio device is changed.

Method Summary
`void` | `playerUpdate(Player player, java.lang.String event, java.lang.Object eventData)` This method is called to deliver an event to a registered listener when a `Player` event is observed.

Field Detail

### STARTED

    public static final java.lang.String STARTED

  Posted when a `Player` is started. When this event is received, the `eventData` parameter will be a `Long` object designating the media time when the `Player` is started.

  Value `started` is assigned to `STARTED`.

### STOPPED

    public static final java.lang.String STOPPED

  Posted when a `Player` stops in response to the `stop` method call. When this event is received, the `eventData` parameter will be a `Long` object designating the media time when the `Player` stopped.

  Value `stopped` is assigned to `STOPPED`.

### STOPPED_AT_TIME

    public static final java.lang.String STOPPED_AT_TIME

  Posted when a `Player` is stopped as responding to the `setStopTime` call using the `StopTimeControl`. When this event is received, the `eventData` parameter will be a `Long` object designating the media time when the `Player` is stopped.

  Value `stoppedAtTime` is assigned to `STOPPED_AT_TIME`.

### END_OF_MEDIA

    public static final java.lang.String END_OF_MEDIA

  Posted when a `Player` has reached the end of the media. When this event is received, the `eventData` parameter will be a `Long` object designating the media time when the `Player` reached end of media and stopped.

  Value `endOfMedia` is assigned to `END_OF_MEDIA`.

### DURATION_UPDATED

    public static final java.lang.String DURATION_UPDATED

  Posted when the duration of a `Player` is updated. This happens for some media types where the duration cannot be derived ahead of time. It can only be derived after the media is played for a period of time -- for example, when it reaches a key frame with duration info; or when it reaches the end of media.

  When this event is received, the `eventData` parameter will be a `Long` object designating the duration of the media.

  Value `durationUpdated` is assigned to `DURATION_UPDATED`.

### DEVICE_UNAVAILABLE

    public static final java.lang.String DEVICE_UNAVAILABLE

  Posted when the system or another higher priority application has temporarily taken control of an exclusive device which was previously available to the `Player`.

  The `Player` will be in the REALIZED state when this event is received.

  This event must be followed by either a `DEVICE_AVAILABLE` event when the device becomes available again, or an `ERROR` event if the device becomes permanently unavailable.

  The `eventData` parameter is a `String` specifying the name of the device.

  Value `deviceUnavailable` is assigned to `DEVICE_UNAVAILABLE`.

### DEVICE_AVAILABLE

    public static final java.lang.String DEVICE_AVAILABLE

  Posted when the system or another higher priority application has released an exclusive device which is now available to the `Player`.

  The `Player` will be in the REALIZED state when this event is received. The application may acquire the device with the `prefetch` or `start` method.

  A `DEVICE_UNAVAILABLE` event must preceed this event.

  The `eventData` parameter is a `String` specifying the name of the device.

  Value `deviceAvailable` is assigned to `DEVICE_AVAILABLE`.

### VOLUME_CHANGED

    public static final java.lang.String VOLUME_CHANGED

  Posted when the volume of an audio device is changed. When this event is received, the `eventData` parameter will be a `VolumeControl` object. The new volume can be queried from the `VolumeControl`.

  Value `volumeChanged` is assigned to `VOLUME_CHANGED`.

### SIZE_CHANGED

    public static final java.lang.String SIZE_CHANGED

  Posted when the size of the video is changed either because the source video size or the display size is changed. When this event is received, the `eventData` parameter will be a `VideoControl` object. The new sizes can be queried from the `VideoControl`.

  Value `sizeChanged` is assigned to `SIZE_CHANGED`.

### ERROR

    public static final java.lang.String ERROR

  Posted when an error had occurred. When this event is received, the `eventData` parameter will be a `String` object specifying the error message.

  Value `error` is assigned to `ERROR`.

### CLOSED

    public static final java.lang.String CLOSED

  Posted when a `Player` is closed. When this event is received, the `eventData` parameter is null.

  Value `closed` is assigned to `CLOSED`.

### RECORD_STARTED

    public static final java.lang.String RECORD_STARTED

  Posted when recording is started.

  When this event is received, the `eventData` parameter will be a `Long` object designating the media time when the recording is started.

  Value `recordStarted` is assigned to `RECORD_STARTED`.

### RECORD_STOPPED

    public static final java.lang.String RECORD_STOPPED

  Posted when recording is stopped.

  When this event is received, the `eventData` parameter will be a `Long` object designating the media time when the recording stopped.

  Value `recordStopped` is assigned to `RECORD_STOPPED`.

### RECORD_ERROR

    public static final java.lang.String RECORD_ERROR

  Posted when an error occurs during the recording. The current recording will be discarded. The application may set a new record location or stream to start recording again. When this event is received, the `eventData` parameter will be a `String` object specifying the error message.

  Value `recordError` is assigned to `RECORD_ERROR`.

### BUFFERING_STARTED

    public static final java.lang.String BUFFERING_STARTED

  Posted when the `Player` enters into a buffering mode. Applications may require this event to handle other tasks.

  When this event is received, the `eventData` parameter will be a `Long` object designating the media time when the buffering is started.

  Value `bufferingStarted` is assigned to `BUFFERING_STARTED`.

### BUFFERING_STOPPED

    public static final java.lang.String BUFFERING_STOPPED

  Posted when the `Player` leaves the buffering mode. Applications may require this event to handle other tasks.

  When this event is received, the `eventData` parameter will be a `Long` object designating the media time when the buffering stopped.

  Value `bufferingStopped` is assigned to `BUFFERING_STOPPED`.

Method Detail

### playerUpdate

    public void playerUpdate(Player player,
                             java.lang.String event,
                             java.lang.Object eventData)

  This method is called to deliver an event to a registered listener when a `Player` event is observed.
  Parameters:
    `player` - The player which generated the event.
    `event` - The event generated as defined by the enumerated types.
    `eventData` - The associated event data.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright 2002 Sun Microsystems, Inc.; Nokia Corporation. See the Copyright Notice and Specification License for more details.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD