Use the setVolume
command in the groupVolume
namespace to set group volume to a specific level and unmute the group if muted.
How it works
When your app sets the group volume, the group coordinator calculates the required changes to the volume level for each player in the group so that the result is the average volume level of the group as a whole. The group coordinator then adjusts its local volume and initiates network transactions with the other players in the group to adjust their volumes accordingly. While players adjust their volumes, the group coordinator may generate one or more groupVolume
events.
Since this command can generate additional network transactions and events, your app should optimize how often it is invoked to maintain a good user experience without flooding the network, such as when implementing a touch screen volume slider that controls a group of five players.
Endpoint
POST
1 |
/groups/{groupId}/groupVolume |
Request Parameters
This command requires a groupId
to determine the target of the command. See the Control documentation for details.
See the table below for a description of the parameter in the body.
Parameter | Type | Value |
---|---|---|
volume |
number | The new group volume as an integer between 0 and 100, inclusive. If your app submits a number outside of this range, you will receive an ERROR_INVALID_PARAMETER error. |
The group coordinator reports the group mute state in the muted
parameter of the groupVolume
event. If all players in the group are muted (the group mute state is true) then all players are unmuted in response to the setVolume
command, even if the volume level was not changed. However, if the group mute state is false, but one or more players in the group is individually muted, then these players will not be unmuted in response to the setVolume
command.
Response
Returns an empty body with a success
value of true if successful. The player generates a groupVolume
event if the volume was changed. In the event of a failure, returns a globalError
.
Additionally, if setVolume
is called on a group that has a fixed
group volume state that is true, the command will fail and you will receive an ERROR_COMMAND_FAILED
error. This is because groups with fixed volumes cannot be changed, for example, a group including a CONNECT with fixed line out would respond with this error if your app tried to set the volume on it.
Example
Request
1 2 3 |
{ "volume": 80 } |