Class: MediaPlayer

car.mediaplayer. MediaPlayer

new MediaPlayer

The car.mediaplayer MediaPlayer instance constructor

Open the specified player and return an instance of the MediaPlayer object, which is used to perform actions on the media player and to receive update events through watchers.

Parameters:
Name Type Description
playerName String The name of the player to open. If the player does not exist, it is automatically created.
Returns:
The car.mediaplayer.MediaPlayer instance.
Type
  • MediaPlayer
Examples
// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');
 REST

Request:
http://<car-ip>/car/mediaplayer/open?playerName=playerName

Success Response:
{
        "code": 1,
        "data": true
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

Methods

browse

Browse a media source for media
Parameters:
Name Type Argument Default Description
mediaSourceId Number The ID of the media source to be retrieved.
success Function The function to call on success.
error Function <optional>
The function to call on error.
mediaNodeId String <optional>
null The ID of the media node to browse. If omitted or null, the root node is retrieved.
limit Number <optional>
-1 The maximum number of records to retrieve. If omitted or negative, all records are retrieved.
offset Number <optional>
0 The offset at which to start retrieving records. If omitted or negative, the offset is 0.
Examples
// Define your callback function(s)
function successCallback(mediaNodes) {
    // Iterate through all of the node results
    for (var i=0; i<mediaNodes.length; i++) {
        console.log("media node id = " + mediaNodes[i].id + "\n" +
                    "media node name = " + mediaNodes[i].name + "\n" +
                    "media node url = " + mediaNodes[i].url + "\n" +
                    "media node type = " + mediaNodes[i].type + "\n" +
                    "media node count = " + mediaNodes[i].count + "\n");
    }
}

function errorCallback(error) {
    console.log(error.code, error.msg);
}

// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Browse the media source from its root
mediaPlayer.browse(0, successCallback, errorCallback, null, 10, 0);
 REST

Request:
http://<car-ip>/car/mediaplayer/browse?mediaSourceId=0&limit=10&offset=0

Success Response:
{
        code: 1,
        data: [
        {
            "id": "/artists-2",
            "name": "Artists",
            "url": null,
            "type": 1,
            "count": -1
        },
        {
            "id": "/albums-5",
            "name": "Albums",
            "url": null,
            "type": 1,
            "count": -1
        },
        {
            "id": "/genres-8",
            "name": "Genres",
            "url": null,
            "type": 1,
            "count": -1
        },
        {
            "id": "/songs-7",
            "name": "Songs",
            "url": null,
            "type": 1,
            "count": -1
        },
        {
            "id": "/videos-10",
            "name": "Videos",
            "url": null,
            "type": 1,
            "count": -1
        }
    ]
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

cancelWatch

Remove a watch
Parameters:
Name Type Description
watchId Number The watch ID.
Example
// Instantiate a media player object, specifying the name of the player to watch
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Add a watch
var watchId = mediaPlayer.watchMediaSource(function() {});

// Cancel the watch
mediaPlayer.cancelWatch(watchId);

createTrackSession

Create a new tracksession
Parameters:
Name Type Argument Default Description
mediaSourceId Number The ID of the media source.
success Function The function to call on success.
error Function <optional>
The function to call on error.
mediaNodeId String <optional>
<nullable>
null The media node ID on which to base the tracksession.
index Number <optional>
0 The index of the item within the tracksession to set as current after creating the tracksession.
limit Number <optional>
-1 The maximum number of media nodes to add to the tracksession. A limit of -1 indicates no limit.
Examples
// Define your callback function(s)
function successCallback(result) {
    console.log("tracksession id = " + result.trackSessionId + "\n");
    
    // Play the new tracksession
    mediaPlayer.play();
}

function errorCallback(error) {
    console.log(error.code, error.msg);
}

// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Create a tracksession from a folder node ID, setting the third track as first to play
mediaPlayer.createTrackSession(0, successCallback, errorCallback, '/songs-7', 2);
 REST

Request:
http://<car-ip>/car/mediaplayer/createTrackSession?mediaSourceId=0&mediaNodeId=/songs-7&index=2

Success Response:
{
    "code": 1,
    "data": {
        "trackSessionId": 10
    }
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

destroyTrackSession

Destroy an existing tracksession
Parameters:
Name Type Description
trackSessionId Number The ID of the tracksession to destroy.
Examples
// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Destroy the tracksession by its ID
mediaPlayer.destroyTrackSession(10);
 REST

Request:
http://<car-ip>/car/mediaplayer/destroyTrackSession?trackSessionId=10

Success Response:
{
    "code": 1
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

getCurrentTrack

Retrieve information for the currently playing track
Parameters:
Name Type Argument Description
success Function The function to call on success.
error Function <optional>
The function to call on error.
Examples
function successCallback(trackInfo) {
    console.log("track info media source ID = " + trackInfo.mediaSourceId + "\n" +
                "track info tracksession index = " + trackInfo.index);

    console.group("track info media node");
    console.log("id = " + trackInfo.mediaNode.id + "\n" +
                "name = " + trackInfo.mediaNode.name + "\n" +
                "url = " + trackInfo.mediaNode.url + "\n" +
                "type = " + trackInfo.mediaNode.type + "\n" +
                "count = " + trackInfo.mediaNode.count + "\n");
    console.groupEnd();

    console.group("track info metadata");
    console.log("title = " + trackInfo.metadata.title + "\n" +
                "duration = " + trackInfo.metadata.duration + "\n" +
                "artwork = " + trackInfo.metadata.artwork + "\n" +
                "artist = " + trackInfo.metadata.artist + "\n" +
                "album = " + trackInfo.metadata.album + "\n" +
                "genre = " + trackInfo.metadata.genre + "\n" +
                "disc = " + trackInfo.metadata.disc + "\n" +
                "track = " + trackInfo.metadata.track + "\n" +
                "width = " + trackInfo.metadata.width + "\n" +
                "height = " + trackInfo.metadata.height);
    console.groupEnd();
}

function errorCallback(error) {
    console.log(error.code, error.msg);
}

// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Get the current track information
mediaPlayer.getCurrentTrack(successCallback, errorCallback);
 REST

Request:
http://<car-ip>/car/mediaplayer/getCurrentTrack

Success Response:
{
    "code": 1,
    "data": {
        "index": 0,
        "mediaSourceId": 0,
        "mediaNode": {
            "id": "/songs/1",
            "name": "Bo Bo's Groove",
            "url": "file:///accounts/1000/shared/music/Bo Bo's Groove.mp3",
            "type": 2,
            "count": -1
        },
        "metadata": {
            "title": "Bo Bo's Groove",
            "duration": 318411,
            "artwork": "file:///apps/mediasources/imagecache//mme/2/original",
            "artist": "tomprincipato",
            "album": "Raising The Roof!",
            "genre": "rock",
            "disc": 0,
            "track": 0,
            "width": -1,
            "height": -1
        }
    }
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

getExtendedMetadata

Retrieve extended metadata properties for the specified media.
Parameters:
Name Type Argument Description
mediaSourceId Number The ID of the node's media source.
mediaNodeId String The ID of the media node to retrieve metadata for.
properties String[] An array of extended metadata property names to retrieve.
success Function The function to call on success.
error Function <optional>
The function to call on error.
Examples
function successCallback(metadata) {
    console.log("metadata composer = " + metadata.composer + "\n" +
                "metadata bpm = " + metadata.bpm);
}

function errorCallback(error) {
    console.log(error.code, error.msg);
}

// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Get metadata for the specified node
mediaPlayer.getExtendedMetadata(0, '/songs/1', ['composer, 'bpm'], successCallback, errorCallback);
 REST

Request:
http://<car-ip>/car/mediaplayer/getMetadata?mediaSourceId=0&mediaNodeId=/songs/1&properties=composer,bpm

Success Response:
{
    "code": 1,
    "data": {
        "composer": "Gregory Bonino",
        "bpm": 90
    }
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

getMediaSources

Return the list of available media sources connected to the device
Parameters:
Name Type Argument Description
success Function The function to call on success.
error Function <optional>
The function to call on error.
Examples
// Define your callback function(s)
function successCallback(mediaSources) {
    // Iterate through all of the media sources
    for (var i=0; i<mediaSources.length; i++) {
        console.log("media source id = " + mediaSources[i].id + "\n" +
                    "media source uid = " + mediaSources[i].uid + "\n" +
                    "media source name = " + mediaSources[i].name + "\n" +
                    "media source type = " + mediaSources[i].type + "\n" +
                    "media source ready = " + mediaSources[i].ready);
        console.group("media source capabilities");
        console.log("play = " + mediaSources[i].capabilities.play + "\n" +
                    "pause = " + mediaSources[i].capabilities.pause + "\n" +
                    "stop = " + mediaSources[i].capabilities.stop + "\n" +
                    "next = " + mediaSources[i].capabilities.next + "\n" +
                    "previous = " + mediaSources[i].capabilities.previous + "\n" +
                    "seek = " + mediaSources[i].capabilities.seek + "\n" +
                    "shuffle = " + mediaSources[i].capabilities.shuffle + "\n" +
                    "repeatOne = " + mediaSources[i].capabilities.repeatOne + "\n" +
                    "repeatAll = " + mediaSources[i].capabilities.repeatAll + "\n" +
                    "metadata = " + mediaSources[i].capabilities.metadata + "\n" +
                    "search = " + mediaSources[i].capabilities.search + "\n" +
                    "playbackRate = " + mediaSources[i].capabilities.playbackRate);
        console.groupEnd();
    }
}

function errorCallback(error) {
        console.log(error.code, error.msg);
}

//call the method
car.mediaplayer.getMediaSources(successCallback, errorCallback);
 REST

Request:
http://<car-ip>/car/mediaplayer/getMediaSources

Success Response:
{
        code: 1,
        data: [
            {
                id: 0,
                uid: "dbmme",
                name: "Juke Box",
                type: 1,
                capabilities: {
                    play: true,
                    pause: true,
                    stop: true,
                    next: true,
                    previous: true,
                    seek: true,
                    shuffle: true,
                    repeatOne: true,
                    repeatAll: true,
                    metadata: true,
                    search: true,
                    playbackRate: true
                }
            }, {
                id: 1,
                uid: "0",
                name: "Bluetooth Phone",
                type: 4096,
                capabilities: {
                    play: true,
                    pause: true,
                    stop: true,
                    next: false,
                    previous: false,
                    seek: false,
                    shuffle: false,
                    repeatOne: false,
                    repeatAll: false,
                    metadata: true,
                    search: false,
                    playbackRate: false
                }
            }
        ]
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

getMetadata

Retrieve metadata for the specified media
Parameters:
Name Type Argument Description
mediaSourceId Number The ID of the node's media source.
mediaNodeId String The ID of the media node to retrieve metadata for.
success Function The function to call on success.
error Function <optional>
The function to call on error.
Examples
function successCallback(metadata) {
    console.log("metadata title = " + metadata.title + "\n" +
                "metadata duration = " + metadata.duration + "\n" +
                "metadata artwork = " + metadata.artwork + "\n" +
                "metadata artist = " + metadata.artist + "\n" +
                "metadata album = " + metadata.album + "\n" +
                "metadata genre = " + metadata.genre + "\n" +
                "metadata disc = " + metadata.disc + "\n" +
                "metadata track = " + metadata.track + "\n" +
                "metadata width = " + metadata.width + "\n" +
                "metadata height = " + metadata.height);
}

function errorCallback(error) {
    console.log(error.code, error.msg);
}

// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Get metadata for the specified node
mediaPlayer.getMetadata(0, '/songs/1', successCallback, errorCallback);
 REST

Request:
http://<car-ip>/car/mediaplayer/getMetadata?mediaSourceId=0&mediaNodeId=/songs/1

Success Response:
{
    "code": 1,
    "data": {
        "title": "Bo Bo's Groove",
        "duration": 318411,
        "artwork": "file:///apps/mediasources/imagecache//mme/2/original",
        "artist": "tomprincipato",
        "album": "Raising The Roof!",
        "genre": "rock",
        "disc": 0,
        "track": 0,
        "width": -1,
        "height": -1
    }
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

getPlayerState

Return the state of the media player
Parameters:
Name Type Argument Description
success Function The function to call on success.
error Function <optional>
The function to call on error.
Examples
function successCallback(playerState) {
    console.log("player state shuffle mode = " + playerState.shuffleMode + "\n" +
                "player state repeat mode = " + playerState.repeatMode + "\n" +
                "player state player status = " + playerState.playerStatus + "\n" +
                "player state playback rate = " + playerState.playbackRate);
}

function errorCallback(error) {
    console.log(error.code, error.msg);
}

// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Get the current player state
mediaPlayer.getPlayerState(successCallback, errorCallback);
 REST

Request:
http://<car-ip>/car/mediaplayer/getPlayerState

Success Response:
{
    "code": 1,
    "data": {
        "shuffleMode": 0,
        "repeatMode": 0,
        "playerStatus": 2,
        "playbackRate": 1
    }
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

getTrackSessionInfo

Retrieve the current tracksession information
Parameters:
Name Type Argument Description
success Function The function to call on success.
error Function <optional>
The function to call on error.
Examples
// Define your callback function(s)
function successCallback(result) {
    console.log("tracksession id = " + result.trackSessionId + "\n" +
                "tracksession length = " + result.length);
}

function errorCallback(error) {
    console.log(error.code, error.msg);
}

// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Get the current tracksession info
mediaPlayer.getTrackSessionInfo(successCallback, errorCallback);
 REST

Request:
http://<car-ip>/car/mediaplayer/getTrackSessionInfo

Success Response:
{
    "code": 1,
    "data": {
        "trackSessionId": 10,
        "length": 17
    }
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

getTrackSessionItems

Retrieve media from the current tracksession
Parameters:
Name Type Argument Default Description
success Function The function to call on success.
error Function <optional>
The function to call on error.
limit Number <optional>
-1 The maximum number of records to retrieve. If omitted or negative, all records are retrieved.
offset Number <optional>
0 The offset at which to start retrieving records. If omitted or negative, the offset is 0.
Examples
function successCallback(mediaNodes) {
    // iterate through all of the node results
    for (var i=0; i<mediaNodes.length; i++) {
        console.log("media node id = " + mediaNodes[i].id + "\n" +
                    "media node name = " + mediaNodes[i].name + "\n" +
                    "media node url = " + mediaNodes[i].url + "\n" +
                    "media node type = " + mediaNodes[i].type + "\n" +
                    "media node count = " + mediaNodes[i].count + "\n");
    }
}

function errorCallback(error) {
    console.log(error.code, error.msg);
}

// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Get the third through fifth tracksession items
mediaPlayer.getTrackSessionItems(successCallback, errorCallback, 3, 2);
 REST

Request:
http://<car-ip>/car/mediaplayer/getTrackSessionItems?limit=3&offset=2

Success Response:
{
    "code": 1,
    "data": [
        {
            "id": "/songs/3",
            "name": "Funktional Love ft. Ruchama",
            "url": "file:///accounts/1000/shared/music/Funktional Love ft. Ruchama.mp3",
            "type": 2,
            "count": -1
        },
        {
            "id": "/songs/4",
            "name": "Hero",
            "url": "file:///accounts/1000/shared/music/Hero.mp3",
            "type": 2,
            "count": -1
        },
        {
            "id": "/songs/6",
            "name": "In Her Smile",
            "url": "file:///accounts/1000/shared/music/In Her Smile.mp3",
            "type": 2,
            "count": -1
        }
    ]
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

jump

Jump to the specified index in the current tracksession
Parameters:
Name Type Description
index Number The index of the track within the current tracksession.
Examples
// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Jump to another track in the active tracksession
mediaPlayer.jump(4);
 REST

Request:
http://<car-ip>/car/mediaplayer/jump?index=4

Success Response:
{
    "code": 1
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

next

Skip to the next track in the active tracksession
Examples
// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Skip to the next track
mediaPlayer.next();
 REST

Request:
http://<car-ip>/car/mediaplayer/next

Success Response:
{
    "code": 1
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

pause

Pause playback
Examples
// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Pause
mediaPlayer.pause();
 REST

Request:
http://<car-ip>/car/mediaplayer/pause

Success Response:
{
    "code": 1
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

play

Start or resume playback of the current tracksession
Examples
// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Play
mediaPlayer.play();
 REST

Request:
http://<car-ip>/car/mediaplayer/play

Success Response:
{
    "code": 1
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

previous

Skip to the previous track in the active tracksession
Examples
// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Skip to the previous track
mediaPlayer.previous();
 REST

Request:
http://<car-ip>/car/mediaplayer/previous

Success Response:
{
    "code": 1
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

repeat

Set the repeat mode for the active tracksession
Parameters:
Name Type Description
repeatMode MediaPlayer.RepeatMode The repeat mode. Use values from the MediaPlayer.RepeatMode enumeration.
Examples
// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Turn repeat one mode on
mediaPlayer.repeat(car.mediaplayer.RepeatMode.REPEAT_ONE);
 REST

Request:
http://<car-ip>/car/mediaplayer/repeat?repeatMode=2

Success Response:
{
    "code": 1
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}
Search for media in a specific media source
Parameters:
Name Type Argument Default Description
mediaSourceId Number The ID of the media source.
searchTerm String The term to search for.
success Function The function to call on success.
error Function <optional>
The function to call on error.
filter String <optional>
null The filter to use to search. null, the search starts from the root node.
limit Number <optional>
-1 The maximum number of records to retrieve. If omitted or negative, all records are retrieved.
offset Number <optional>
0 The offset at which to start retrieving records. If omitted or negative, the offset is 0.
Examples
// Define your callback function(s)
function successCallback(mediaNodes) {
    // Iterate through all of the node results
    for (var i=0; i<mediaNodes.length; i++) {
        console.log("media node id = " + mediaNodes[i].id + "\n" +
                    "media node name = " + mediaNodes[i].name + "\n" +
                    "media node url = " + mediaNodes[i].url + "\n" +
                    "media node type = " + mediaNodes[i].type + "\n" +
                    "media node count = " + mediaNodes[i].count + "\n");
    }
}

function errorCallback(error) {
    console.log(error.code, error.msg);
}

// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Search the media source from its root
mediaPlayer.search(0, 'ong', successCallback, errorCallback, null, 10, 0);
 REST

Request:
http://<car-ip>/car/mediaplayer/search?mediaSourceId=0&searchTerm=ong&limit=10&offset=0

Success Response:
{
    "code": 1,
    "data": [
        {
            "id": "/artists/11-3",
            "name": "AllisonGray",
            "url": null,
            "type": 1,
            "count": 1
        },
        {
            "id": "/songs/15",
            "name": "Sarasong",
            "url": "file:///accounts/1000/shared/music/Sarasong.mp3",
            "type": 2,
            "count": -1
        }
    ]
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

seek

Seek to a specific position in the current track
Parameters:
Name Type Description
position Number The track position (in ms).
Examples
// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Seek
mediaPlayer.seek(20000);
 REST

Request:
http://<car-ip>/car/mediaplayer/seek?position=20000

Success Response:
{
    "code": 1
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

setPlaybackRate

Set the playback rate of the media player
Parameters:
Name Type Description
playbackRate Number The playback rate. A rate of 1.0 is regular play speed. Negative numbers result in reverse playback.
Examples
// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Fast forward 1.5x
mediaPlayer.setPlaybackRate(1.5);
 REST

Request:
http://<car-ip>/car/mediaplayer/setPlaybackRate?playbackRate=1.5

Success Response:
{
    "code": 1
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

shuffle

Set the shuffle mode for the active tracksession.
Parameters:
Name Type Description
shuffleMode MediaPlayer.ShuffleMode The shuffle mode. Use values from the MediaPlayer.ShuffleMode enumeration.
Examples
// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Turn shuffle mode on
mediaPlayer.shuffle(car.mediaplayer.ShuffleMode.SHUFFLE_ON);
 REST

Request:
http://<car-ip>/car/mediaplayer/shuffle?shuffleMode=1

Success Response:
{
    "code": 1
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

stop

Stop playback
Examples
// Instantiate a media player object, specifying the player name
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Stop
mediaPlayer.stop();
 REST

Request:
http://<car-ip>/car/mediaplayer/stop

Success Response:
{
    "code": 1
}

Error Response:
{
        code: -1,
        msg: "An error has occurred"
}

watchMediaSource

Watch for changes to media sources
Parameters:
Name Type Description
callback Function The function to call when a change is detected.
Returns:
The watch ID.
Type
  • Number
Example
// Define a callback function
function myCallback(event) {
}

// Instantiate a media player object, specifying the name of the player of which to watch
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Add the watch
var watchId = mediaPlayer.watchMediaSource(myCallback);

watchPlayerState

Watch for changes to the media player state
Parameters:
Name Type Description
callback Function The function to call when a change is detected.
Returns:
The watch ID.
Type
  • Number
Example
// Define a callback function
function myCallback(event) {
}

// Instantiate a media player object, specifying the name of the player to watch
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Add the watch
var watchId = mediaPlayer.watchPlayerState(myCallback);

watchTrack

Watch for changes to the current track
Parameters:
Name Type Description
callback Function The function to call when a change is detected.
Returns:
The watch ID.
Type
  • Number
Example
// Define a callback function
function myCallback(event) {
}

// Instantiate a media player object, specifying the name of the player to watch
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Add the watch
var watchId = mediaPlayer.watchTrack(myCallback);

watchTrackPosition

Watch for changes to the current track's position
Parameters:
Name Type Description
callback Function The function to call when a change is detected.
Returns:
The watch ID.
Type
  • Number
Example
// Define a callback function
function myCallback(event) {
}

// Instantiate a media player object, specifying the name of the player to watch
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Add the watch
var watchId = mediaPlayer.watchTrackPosition(myCallback);

watchTrackSession

Watch for changes to tracksessions
Parameters:
Name Type Description
callback Function The function to call when a change is detected.
Returns:
The watch ID.
Type
  • Number
Example
// Define a callback function
function myCallback(event) {
}

// Instantiate a media player object, specifying the name of the player to watch
var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName');

// Add the watch
var watchId = mediaPlayer.watchTrackSession(myCallback);