API Reference - media.playAlternateSound
Required Privacy:
Data &
Location
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 : |
string |
|
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 |
|
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 |
|
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
}