new Mediaplayer(playerName) → {MediaPlayer}
        The car.mediaplayer MediaPlayer instance contstructor function. Opens the specified player and returns an
instance of the MediaPlayer object, used to perform actions on the media player and receive update events
through watchers.
    
    
    
    
    
    
    
        Parameters:
| Name | Type | Description | 
|---|---|---|
| playerName | String | The player name to open. If the player does not exist it will automatically be created. | 
- Source:
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
- 
    <static> browse(mediaSourceId, success, error, mediaNodeId, limit, offset)
- 
    
    
    Browse a media source for mediaParameters:Name Type Argument Default Description mediaSourceIdNumber The ID of the media source. be retrieved. successFunction The success callback handler. errorFunction <optional> 
 The error callback handler. mediaNodeIdString <optional> 
 null The ID of the media node to browse. If omitted or null, the root node will limitNumber <optional> 
 -1 The maximum number of records to retrieve. If omitted or negative, all records will be retrieved. offsetNumber <optional> 
 0 The offset at which to start retrieving records. If omitted or negative, offset will be 0. - Source:
 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" }
- 
    <static> cancelWatch(watchId)
- 
    
    
    Removes a watch callbackParameters:Name Type Description watchIdNumber The watch ID. - Source:
 Example// Instantiate a media player object, specifying the name of the player of which to watch var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName'); // Add a watch var watchId = mediaPlayer.watchMediaSource(function() {}); // Cancel the watch mediaPlayer.cancelWatch(watchId);
- 
    <static> createTrackSession(mediaSourceId, success, error, mediaNodeId, index, limit, offset)
- 
    
    
    Creates a new track sessionParameters:Name Type Argument Default Description mediaSourceIdNumber The ID of the media source. successFunction The success callback handler. errorFunction <optional> 
 The error callback handler. mediaNodeIdString <optional> 
 <nullable>
 null The media node ID on which to base the track session. indexNumber <optional> 
 0 The index of the item within the track session to set as current after creation. limitNumber <optional> 
 -1 The maximum number of media nodes to add to the track session. A limit of -1 indicates no limit. offsetNumber <optional> 
 0 The offset within the specified media node at which to start building the track session. - Source:
 Examples// Define your callback function(s) function successCallback(result) { console.log("track session id = " + result.trackSessionId + "\n"); // Play the new track session 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 track session 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" }
- 
    <static> destroyTrackSession(trackSessionId)
- 
    
    
    Destroys an existing track session.Parameters:Name Type Description trackSessionIdNumber The track session ID. - Source:
 Examples// Instantiate a media player object, specifying the player name var mediaPlayer = new car.mediaplayer.MediaPlayer('playerName'); // Destroy the track session 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" }
- 
    <static> getCurrentTrack(success, error)
- 
    
    
    Retrieves the currently playing track informationParameters:Name Type Argument Description successFunction The success callback handler. errorFunction <optional> 
 The error callback handler. - Source:
 Examplesfunction successCallback(trackInfo) { console.log("track info media source ID = " + trackInfo.mediaSourceId + "\n" + "track info track session 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" }
- 
    <static> getMediaSources(success, error)
- 
    
    
    Return the list of available media sources connected to the deviceParameters:Name Type Argument Description successFunction The success callback handler. errorFunction <optional> 
 The error callback handler. - Source:
 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" }
- 
    <static> getMetadata(mediaSourceId, mediaNodeId, success, error)
- 
    
    
    Retrieves metadata for the specified mediaParameters:Name Type Argument Description mediaSourceIdNumber The ID of the node's media source. mediaNodeIdString The media node ID of which to retrieve metadata. successFunction The success callback handler. errorFunction <optional> 
 The error callback handler. - Source:
 Examplesfunction 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" }
- 
    <static> getPlayerState(success, error)
- 
    
    
    Returns the state of the media playerParameters:Name Type Argument Description successFunction The success callback handler. errorFunction <optional> 
 The error callback handler. - Source:
 Examplesfunction 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" }
- 
    <static> getTrackSessionInfo(success, error)
- 
    
    
    Retrieves the current track session information.Parameters:Name Type Argument Description successFunction The success callback handler. errorFunction <optional> 
 The error callback handler. - Source:
 Examples// Define your callback function(s) function successCallback(result) { console.log("track session id = " + result.trackSessionId + "\n" + "track session 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 track session 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" }
- 
    <static> getTrackSessionItems(success, error, limit, offset)
- 
    
    
    Retrieves media from the current track sessionParameters:Name Type Argument Default Description successFunction The success callback handler. errorFunction <optional> 
 The error callback handler. limitNumber <optional> 
 -1 The maximum number of records to retrieve. If omitted or negative, all records will be retrieved. offsetNumber <optional> 
 0 The offset at which to start retrieving records. If omitted or negative, offset will be 0. - Source:
 Examplesfunction 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 track session 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" }
- 
    <static> next()
- 
    
    
    Skip to the next track in the active track session- Source:
 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" }
- 
    <static> pause()
- 
    
    
    Pause playback- Source:
 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" }
- 
    <static> play()
- 
    
    
    Start or resume playback of the current track session- Source:
 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" }
- 
    <static> previous()
- 
    
    
    Skip to the previous track in the active track session- Source:
 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" }
- 
    <static> repeat(repeatMode)
- 
    
    
    Set the repeat mode for the active track sessionParameters:Name Type Description repeatModeMediaPlayer.RepeatMode The repeat mode as per the MediaPlayer.RepeatMode enumeration. - Source:
 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" }
- 
    <static> search(mediaSourceId, searchTerm, success, error, mediaNodeId, limit, offset)
- 
    
    
    Search for media in a specific media source.Parameters:Name Type Argument Default Description mediaSourceIdNumber The ID of the media source. searchTermString The term to search for. successFunction The success callback handler. errorFunction <optional> 
 The error callback handler. mediaNodeIdString <optional> 
 null The ID of the media node from which to search. limitNumber <optional> 
 -1 The maximum number of records to retrieve. If omitted or negative, all records will be retrieved. offsetNumber <optional> 
 0 The offset at which to start retrieving records. If omitted or negative, offset will be 0. - Source:
 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" }
- 
    <static> seek(position)
- 
    
    
    Seek to a specific position in the current trackParameters:Name Type Description positionNumber The track position, in ms. - Source:
 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" }
- 
    <static> setPlaybackRate(playbackRate)
- 
    
    
    Set the playback rate of the media playerParameters:Name Type Description playbackRateNumber The playback rate. A rate of 1.0 is regular play speed. Negative numbers result in reverse playback. - Source:
 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" }
- 
    <static> shuffle(shuffleMode)
- 
    
    
    Set the shuffle mode for the active track session.Parameters:Name Type Description shuffleModeMediaPlayer.ShuffleMode The shuffle mode as per the MediaPlayer.ShuffleMode enumeration. - Source:
 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" }
- 
    <static> watchMediaSource(callback) → {Number}
- 
    
    
    Watch for changes to media sourcesParameters:Name Type Description callbackFunction The function to be called when a change is detected. - Source:
 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);
- 
    <static> watchPlayerState(callback) → {Number}
- 
    
    
    Watch for changes to the media player stateParameters:Name Type Description callbackFunction The function to be called when a change is detected. - Source:
 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.watchPlayerState(myCallback);
- 
    <static> watchTrack(callback) → {Number}
- 
    
    
    Watch for changes to the current trackParameters:Name Type Description callbackFunction The function to be called when a change is detected. - Source:
 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.watchTrack(myCallback);
- 
    <static> watchTrackPosition(callback) → {Number}
- 
    
    
    Watch for changes to the current track's positionParameters:Name Type Description callbackFunction The function to be called when a change is detected. - Source:
 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.watchTrackPosition(myCallback);
- 
    <static> watchTrackSession(callback) → {Number}
- 
    
    
    Watch for changes to track sessionsParameters:Name Type Description callbackFunction The function to be called when a change is detected. - Source:
 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.watchTrackSession(myCallback);