Player Information Overview

Player Information returns details of the state of a specified Media Player application, including the static menu layout and media player events.

Purpose

Player Information allows a media player to inform a remote controller about events of interest such as track changed, or that the track has reached the end. It also allows the controller to view the current player settings.

Player Information Library Details

The DLL that provides the functionality and the library to which your code must link is identified below.

DLL LIB Short Description

remconplayerinformation.dll

remconplayerinformation.lib

Used by applications to monitor controller information messages and events.

Architecture

An application that wants to support Player Information commands must provide implementations of the commands in the CPlayerInfoTarget class.

Description

Player Information is used to configure and observe an application's settings. You can configure the settings using the resource (rss) file or programmatically using objects of the classes discussed in the next section.

There are four groups of information a target device application needs to monitor, they are:

  1. Player Capabilities

    Define the capabilities supported by the target application. These are generally static.

  2. Player Application Settings Observer

    Defines the attributes supported by the target application. The defined value will be used as a part of the response message to one of the monitored events. The available settings are generally static, however their values may change dynamically.

  3. Player Events Observer

    Specify the response message and any other actions required when a monitored event is triggered.

  4. Player Application Settings Notifier

    le the target application to monitor changes to the controller device settings and process notifications of those changes. Used to enab

Key classes

The key classes that make up the Player Information are as follows:

  • CPlayerInfoTarget

    The object used by an application to handle Player Information commands and requests.

  • CRemConInterfaceSelector

    A handle to the remote control server application.

  • MPlayerCapabilitiesObserver

    An object of this class is used when constructing the CPlayerInfoTarget object. The application will use this object to define its capabilities by specifying the events that the application should be notified about. Several events may be added by simply using MPlayerCapabilitiesObserver::AddEvent().

    Both EVENT_PLAYBACK_STATUS_CHANGED and EVENT_TRACK_CHANGED are supported by default. An attempt to MPlayerCapabilitiesObserver::AddEvent() either of those events will cause a KErrAlreadyExists error. An attempt to MPlayerCapabilitiesObserver::RemoveEvent() either of these events will result in a KErrNotSupported error.

    Notifications may be added for the following capabilities:

    • End of track

    • Start of track

    • Playback position changed

    • Battery status changed

    • Player application setting changed

    The application may also be extended using MPlayerCapabilitiesObserver::AddCompanyId() to add vendor specific capabilities.

  • MPlayerApplicationSettingsObserver

    An object of this class is used when constructing the CPlayerInfoTarget object. The application will use this object to define the attribute values.

  • MPlayerEventsObserver

    An object of this class is used when constructing the CPlayerInfoTarget object. You will define an appropriate set of cases for each event and handle them as required.

  • MPlayerApplicationSettingsNotify

    An object of this class is used when constructing the CPlayerInfoTarget object. The application will use this object to handle changes made to the controller device settings.