Webportal v2

embedded apps

API Reference - media.playAlternateSound

Required Privacy: Data & Location
Operations:

This API allows to work with the previous song or radio station function.

Response status: 503 if another sound is already being played.
Response status: 400 if disabling ducking isn’t supported.

Input Parameter
Param name Description Type Unit/Values Example Required
url

Audio ressource : file:// or http(s)://.

string

n/a

https://appsportal-preprod.nea.p3cs.com/static/music.mp3 true
ducking

Ducking effect.

boolean

- true: 'enable (default)'

- false: 'disable'
true false
Output Data
Data name Description Type Unit/Values Example
trackingId

ID of the event. Available in SET & SUBSCRIBE.

int

n/a

67
Code Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
webportal.set(
    /* api name */
    "media.playAlternateSound",
    /* parameters */
     { 
      "url": "https://appsportal-preprod.nea.p3cs.com/static/music.mp3",
      "ducking": true
        }
  )
  /* callback for `REPLY` messages */
  .then((message) => {
    if (message.status === 200) {
      /* handle `REPLY` success */
    }
    else { /* handle `REPLY` error */ }
  })
1
2
3
4
5
6
7
8
9
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0", 
  "type": "SET", 
  "api": "media.playAlternateSound",
  "params":  { 
    "url": "https://appsportal-preprod.nea.p3cs.com/static/music.mp3",
    "ducking": true
  }
}
1
2
3
4
5
6
7
8
9
10
// --- format of the `REPLY` message ---

{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0",
  "type": "REPLY",
  "api": "media.playAlternateSound",
  "status": 200,
  "statusText": "OK", 
  "data": 67
}

false

This API allows to work with the previous song or radio station function.

SUBSCRIBE would trigger when the song has been fully played.

Input Parameter
No input params
Output Data
Data name Description Type Unit/Values Example
trackingId

ID of the event. Available in SET & SUBSCRIBE.

int

n/a

67
Code Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
webportal.subscribe(
    /* api name */
    "media.playAlternateSound",
    /* parameters */
     null,
    /* callback for `NOTIFY` messages */
    async (notifyMessage) => {
      if (notifyMessage.status === 200) {
        /* handle `NOTIFY` response */
      }
      else { /*  handle `NOTIFY` error  */ }
    }
  )
  /* callback for `REPLY` messages */
  .then((message) => {
    if (message.status === 200) {
      /* handle `REPLY` success */
    }
    else { /* handle `REPLY` error */ }
  })
1
2
3
4
5
6
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0", 
  "type": "SUBSCRIBE", 
  "api": "media.playAlternateSound",
  "params":  null
}
1
2
3
4
5
6
7
8
9
10
11
// --- format of the `REPLY` message ---
// type: acknowledge the status of the subscription
// reception: only once after the subscription request
// contains outputed data: no
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0",
  "type": "REPLY",
  "status": 200,
  "statusText": "OK"
}

1
2
3
4
5
6
7
8
9
10
11
12
// --- format of the `NOTIFY` message ---
// type: event message about the subscription
// reception: each time the conditions of the subscription are met
// contains outputed data: yes
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0",
  "type": "NOTIFY",
  "api": "media.playAlternateSound",
  "status": 200,
  "statusText": "OK", 
  "data": 67
}