Change speaker volume
This tutorial shows how to change the speaker volume for Nureva® devices over the local network.
What can be controlled with the API?
The local control API offers the ability to increase or decrease the speaker volume for a Nureva audio device. The API mirrors the behavior of the volume up and down buttons on the remote control.
The minimum volume is 0 and the maximum volume is 100. Trying to increase the speaker volume to beyond 100 or decrease it to below 0 will not change the volume.
Minimum role required: general
generalThe Change Speaker Volume endpoint can be accessed with the general role or any role of a higher level.
Overview
- 
Use Get Audio Settings to make a request to get the current speaker volume setting on the audio device.
 - 
Use Change Speaker Volume to a make a request to change the speaker volume on the audio device.
 - 
Use Get Audio Settings to check that the change has been applied successfully.
 
Instructions
Step 1 - Make a request to get the current speaker volume setting
Use the Get Audio Settings endpoint:
- Set the path with the IP address of the Nureva device followed by 
/api/v1/audio. - Update the headers to include 
Authorizationas key and the value beingNurevafollowed by theauthParametersreceived from the login endpoint. - Update the headers to include 
Nureva-Client-Idas key andintegration_app_nameas the value. - Update the headers to include 
Nureva-Client-Versionas key and0.0.1as the value. - Send the GET request. The code sample below is a request to retrieve the settings for the device with the IP address of 
10.0.0.1. 
curl --request GET \
     --url https://10.0.0.1/api/v1/audio \
     --header 'Authorization: Nureva Z2VuZXJhbDo=' \
     --header 'Nureva-Client-Id: integration_app_name' \
     --header 'Nureva-Client-Version: 0.0.1'- If the call is successful, an HTTP status code of 200 OK will be returned.
 - Check the value of the 
speakerVolumeattribute. ThespeakerVolumeattribute is a property of the Nureva audio device, with the minimum value of 0 (no sound) and the maximum value of 20 (loudest sound). Since the operating system volume setting has a range of 0 to 100, eachspeakerVolumeincrement (or decrement) can be roughly (not exactly) translated to 5% operating system increment (or decrement). 
The example response below indicates that the speaker volume is currently set to 14.
{
  "microphoneMute": false,
  "microphonePickupState": "Mono",
  "microphoneGain": 3,
  "speakerTrebleLevel": 90,
  "speakerBassLevel": 16,
  "speakerVolume": 14,
  "echoReductionLevel": "Medium",
  "noiseReductionLevel": "Medium",
  "auxiliaryOutputState": "LineLevel",
  "voiceAmplificationEnabled": false,
  "voiceAmplificationLevel": 25,
  "voiceAmplificationAuxInLevel": "Line",
  "dynamicBoostEnabled": false,
  "microphoneDuckingEnabled": false
}Step 2 - Make a request to change the speaker volume
Use the Change Speaker Volume endpoint:
- Set the path with the IP address of the Nureva device followed by 
/api/v1/audio/volume/change. - Update the headers to include 
Authorizationas key and the value beingNurevafollowed by theauthParametersreceived from the login endpoint. - Update the headers to include 
Nureva-Client-Idas key andintegration_app_nameas the value. - Update the headers to include 
Nureva-Client-Versionas key and0.0.1as the value. - Update the headers to include 
Content-typeas key andapplication/jsonas value. - Add the property 
"operation"to the body property. - Give 
"operation"a value of either"increment"or"decrement"(case sensitive). This is a required property. The code sample below is a request to increment the speaker volume.- "increment" increments the volume by one step of 4-6 volume points (to a maximum of 100), as seen from the operating system
 - "decrement" decrements the volume by one step of 4-6 volume points (to a minimum of 0), as seen from the operating system
 
 
curl --request PUT \
     --url https://10.0.0.1/api/v1/audio/volume/change \
     --header 'Authorization: Nureva Z2VuZXJhbDo=' \
     --header 'Nureva-Client-Id: integration_app_name' \
     --header 'Nureva-Client-Version: 0.0.1'\
     --header 'Content-type: application/json' \
     --data '{"operation":"increment"}'- Send the PUT request.
 - If the call is successful, an HTTP status code of 200 OK will be returned.
 
Step 3 - Check that the change has been applied successfully
Use the Get Audio Settings endpoint:
- Set the path with the IP address of the Nureva device followed by 
/api/v1/audio. - Update the headers to include 
Authorizationas key and the value beingNurevafollowed by theauthParametersreceived from the login endpoint. - Update the headers to include 
Nureva-Client-Idas key andintegration_app_nameas the value. - Update the headers to include 
Nureva-Client-Versionas key and0.0.1as the value. - Send the GET request. The code sample below is a request to retrieve the settings for the device with the IP address of 
10.0.0.1. 
curl --request GET \
     --url https://10.0.0.1/api/v1/audio \
     --header 'Authorization: Nureva Z2VuZXJhbDo=' \
     --header 'Nureva-Client-Id: integration_app_name' \
     --header 'Nureva-Client-Version: 0.0.1'- If the call is successful, an HTTP status code of 200 OK will be returned.
 - Check the value of the 
speakerVolumeattribute. 
The example below indicates that the change (to adjust speaker volume) was successfully applied.
{
  "microphoneMute": false,
  "microphonePickupState": "Mono",
  "microphoneGain": 3,
  "speakerTrebleLevel": 90,
  "speakerBassLevel": 16,
  "speakerVolume": 15,
  "echoReductionLevel": "Medium",
  "noiseReductionLevel": "Medium",
  "auxiliaryOutputState": "LineLevel",
  "voiceAmplificationEnabled": false,
  "voiceAmplificationLevel": 25,
  "voiceAmplificationAuxInLevel": "Line",
  "dynamicBoostEnabled": false,
  "microphoneDuckingEnabled": false
}
Tutorial complete!You now know how to get, increase and decrease the speaker volume.
Updated 8 days ago
