Copyright (c) 2010-2012 by Axis Communications AB. All rights reserved.
PRELIMINARY and CONFIDENTIAL - under NDA (Non-Disclosure Agreement).

THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND
THEIR AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE;
 THAT THE CONTENTS OF THIS DOCUMENT (INCLUDING ANY LAWFUL MODIFICATIONS THEREOF) 
ARE SUITABLE FOR ANY PURPOSE;
OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS,
COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE
FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL
DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS
DOCUMENT (INCLUDING ANY LAWFUL MODIFICATIONS THEREOF), WHETHER OR NOT (1) 
THE CORPORATION, MEMBERS OR THEIR AFFILIATES
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES
WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR
DISTRIBUTION OF THIS DOCUMENT.
THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO,
INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS
AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN
CERTAIN WRITTEN POLICIES OF THE CORPORATION.

BasicPlayer Service

axbp = http://www.axis.com/vapix/ws/BasicPlayer

Table of contents

2   Overview
3   Detailed Specification
3.1     Common Data Types
3.1..1         NewTrack
3.1..2         Track
3.1..3         Playlist
3.1..4         Enumeration: PlayingMode
3.1..5         Enumeration: PlayStatus
3.1..6         Enumeration: TrackType
3.1..7         Enumeration: TrackCondition
3.1.1       Play command
3.1.2       SetMode command
3.1.3       GetMode command
3.1.4       Stop command
3.1.5       Pause command
3.1.6       PlayNext command
3.1.7       PlayPrevious command
3.1.8       GetPlaylists command
3.1.9       GetTracks command
3.1.10       GetCurrentPlaylist command
3.1.11       GetCurrentTrack command
3.1.12       AddSchedule command
3.1.13       RemoveSchedule command
3.1.14       CreateTrack command
3.1.15       UploadTrack command
3.1.16       CreatePlaylist command
3.1.17       RemovePlaylist command
3.1.18       RemoveTrack command
3.1.19       SetProxy command
3.1.20       GetProxy command
3.1.21       SetPlaylist command
3.1.22       GetPlayerStatus command

Overview

Blalbla

Detailed Specification

Common Data Types

NewTrack

Definition of a audio track

The following fields are available:

To provide more information, the device may include the following optional fields:

Track

Definitition of a audio track.

The following fields are available:

To provide more information, the device may include the following optional fields:

Playlist

The Playlist ...

The following fields are available:

Enumeration: PlayingMode

How the music is played

The following values are available:

Enumeration: PlayStatus

Tralalla ...

The following values are available:

Enumeration: TrackType

The track type (ex. http, file)

The following values are available:

Enumeration: TrackCondition

The track type (ex. http, file)

The following values are available:

Play command

Play a playlist, if no playlist, unpause from previous playing.

Table 1: Play command

Play
Access Class: ACTUATE
Message nameDescription
PlayRequestThis message contains:

  • "PlaylistId": Which playlist to play.
  • "TrackIndex": Which index to start at.

axbp:PlaylistId PlaylistId [0][1]
xs:unsignedInt TrackIndex [0][1]
PlayResponseThis message contains:

  • "NowPlaying": The item currently being played
  • "TrackIndex": Index of current track in current playlist.

axbp:Track NowPlaying [1][1]
xs:unsignedInt TrackIndex [1][1]
(extendable)
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

SetMode command

Set playing mode.

Table 2: SetMode command

SetMode
Access Class: WRITE_SYSTEM
Message nameDescription
SetModeRequestThis message contains:

  • "Mode":

axbp:PlayingMode Mode [1][1]
SetModeResponseThis message shall be empty.
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

GetMode command

Get playing mode.

Table 3: GetMode command

GetMode
Access Class: READ_SYSTEM_SENSITIVE
Message nameDescription
GetModeRequestThis message shall be empty.
GetModeResponseThis message contains:

  • "Mode":

axbp:PlayingMode Mode [1][1]
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

Stop command

No more Tralalla ...

Table 4: Stop command

Stop
Access Class: ACTUATE
Message nameDescription
StopRequestThis message shall be empty.
StopResponseThis message shall be empty.
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

Pause command

No more Tralalla ...

Table 5: Pause command

Pause
Access Class: ACTUATE
Message nameDescription
PauseRequestThis message shall be empty.
PauseResponseThis message shall be empty.
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

PlayNext command

Tralalla ...

Table 6: PlayNext command

PlayNext
Access Class: ACTUATE
Message nameDescription
PlayNextRequestThis message shall be empty.
PlayNextResponseThis message contains:

  • "NowPlaying": Plays this track
  • "TrackIndex": Index of current track in current playlist.

axbp:Track NowPlaying [1][1]
xs:unsignedInt TrackIndex [1][1]
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

PlayPrevious command

Tralalla ...

Table 7: PlayPrevious command

PlayPrevious
Access Class: ACTUATE
Message nameDescription
PlayPreviousRequestThis message shall be empty.
PlayPreviousResponseThis message contains:

  • "NowPlaying": Plays this track
  • "TrackIndex": Index of current track in current playlist.

axbp:Track NowPlaying [1][1]
xs:unsignedInt TrackIndex [1][1]
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

GetPlaylists command

Tralalla ...

Table 8: GetPlaylists command

GetPlaylists
Access Class: READ_SYSTEM_SENSITIVE
Message nameDescription
GetPlaylistsRequestThis message contains:

  • "Ids": List of playlist ids or empty for all

axbp:PlaylistId Ids [0][unbounded]
GetPlaylistsResponseThis message contains:

  • "Playlists": List of playlists

axbp:Playlist Playlists [0][unbounded]
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

GetTracks command

Tralalla ...

Table 9: GetTracks command

GetTracks
Access Class: READ_SYSTEM_SENSITIVE
Message nameDescription
GetTracksRequestThis message contains:

  • "Ids":

axbp:TrackId Ids [0][unbounded]
GetTracksResponseThis message contains:

  • "Tracks": List of track ids or empty for all

axbp:Track Tracks [0][unbounded]
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

GetCurrentPlaylist command

Tralalla ...

Table 10: GetCurrentPlaylist command

GetCurrentPlaylist
Access Class: READ_SYSTEM_SENSITIVE
Message nameDescription
GetCurrentPlaylistRequestThis message shall be empty.
GetCurrentPlaylistResponseThis message contains:

  • "Playlist": Current playlist

axbp:Playlist Playlist [1][1]
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

GetCurrentTrack command

Tralalla ...

Table 11: GetCurrentTrack command

GetCurrentTrack
Access Class: READ_SYSTEM_SENSITIVE
Message nameDescription
GetCurrentTrackRequestThis message shall be empty.
GetCurrentTrackResponseThis message contains:

  • "Track": Current track

axbp:Track Track [1][1]
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

AddSchedule command

Add a schedule to a playlist.

Table 12: AddSchedule command

AddSchedule
Access Class: ACTUATE
Message nameDescription
AddScheduleRequestThis message contains:

  • "PlaylistId": Playlist to assign schedule.
  • "ScheduleId": Identifies Schedule

axbp:PlaylistId PlaylistId [1][1]
axbp:ScheduleId ScheduleId [1][1]
AddScheduleResponseThis message shall be empty.
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

RemoveSchedule command

Remove a schedule from playlist.

Table 13: RemoveSchedule command

RemoveSchedule
Access Class: WRITE_SYSTEM
Message nameDescription
RemoveScheduleRequestThis message contains:

  • "ScheduleId": Identifies Schedule

axbp:ScheduleId ScheduleId [1][1]
RemoveScheduleResponseThis message shall be empty.
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

CreateTrack command

Tralalla ...

Table 14: CreateTrack command

CreateTrack
Access Class: ACTUATE
Message nameDescription
CreateTrackRequestThis message contains:

  • "Track": The track to create

axbp:NewTrack Track [1][1]
CreateTrackResponseThis message contains:

  • "Track": The track created

axbp:Track Track [1][1]
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

UploadTrack command

Tralalla ...

Table 15: UploadTrack command

UploadTrack
Access Class: ACTUATE
Message nameDescription
UploadTrackRequestThis message contains:

  • "File": The file to turn into a track

xs:hexBinary File [1][1]
UploadTrackResponseThis message contains:

  • "Track": The track created

axbp:Track Track [1][1]
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

CreatePlaylist command

Tralalla ...

Table 16: CreatePlaylist command

CreatePlaylist
Access Class: ACTUATE
Message nameDescription
CreatePlaylistRequestThis message contains:

  • "Name": Nice Name for the playlist
  • "TrackIds": List of trackIDs initially contained in Playlist

axbp:Name Name [1][1]
axbp:TrackId TrackIds [0][unbounded]
CreatePlaylistResponseThis message contains:

  • "Playlist": The playlist created

axbp:Playlist Playlist [1][1]
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

RemovePlaylist command

Tralalla ...

Table 17: RemovePlaylist command

RemovePlaylist
Access Class: WRITE_SYSTEM
Message nameDescription
RemovePlaylistRequestThis message contains:

  • "Id": Playlist to remove

axbp:PlaylistId Id [1][1]
RemovePlaylistResponseThis message shall be empty.
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

RemoveTrack command

Tralalla ...

Table 18: RemoveTrack command

RemoveTrack
Access Class: WRITE_SYSTEM
Message nameDescription
RemoveTrackRequestThis message contains:

  • "Id": Track to remove

axbp:TrackId Id [1][1]
RemoveTrackResponseThis message shall be empty.
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

SetProxy command

Tralalla ...

Table 19: SetProxy command

SetProxy
Access Class: WRITE_SYSTEM
Message nameDescription
SetProxyRequestThis message contains:

  • "ProxyServer": Server address

axbp:ProxyServer ProxyServer [1][1]
SetProxyResponseThis message shall be empty.
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

GetProxy command

Tralalla ...

Table 20: GetProxy command

GetProxy
Access Class: READ_SYSTEM_SENSITIVE
Message nameDescription
GetProxyRequestThis message shall be empty.
GetProxyResponseThis message contains:

  • "ProxyServer": Server address

axbp:ProxyServer ProxyServer [1][1]
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

SetPlaylist command

Tralalla ...

Table 21: SetPlaylist command

SetPlaylist
Access Class: WRITE_SYSTEM
Message nameDescription
SetPlaylistRequestThis message contains:

  • "Id": Playlist to modify
  • "Name": Nicename of playlist
  • "TrackIds": List of trackIDs contained in Playlist

axbp:PlaylistId Id [1][1]
axbp:Name Name [1][1]
axbp:TrackId TrackIds [0][unbounded]
SetPlaylistResponseThis message contains:

  • "Playlist": The resulting playlist

axbp:Playlist Playlist [1][1]
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...

GetPlayerStatus command

Tralalla ...

Table 22: GetPlayerStatus command

GetPlayerStatus
Access Class: READ_SYSTEM_SENSITIVE
Message nameDescription
GetPlayerStatusRequestThis message shall be empty.
GetPlayerStatusResponseThis message contains:

  • "PlaylistId": Id of current playlist
  • "TrackId": Id of current track
  • "TrackIndex": Index of current track in current playlist.
  • "status": Are we playing/paused/stopped ?

axbp:PlaylistId PlaylistId [1][1]
axbp:TrackId TrackId [1][1]
xs:unsignedInt TrackIndex [1][1]
axbp:PlayStatus status [1][1]
Fault codesDescription
env:Receiver
 ter:Action
  ter:Failure
...