This guide will show you how to use SoundManager to save and retrieve the ringtone, alarm and notification uris.
Also the document explains how to use ringtone player APIs to play a ringtone uri.
## **SoundManager Framework**
The SoundManager interface consists of APIs which are used to save and retrieve ringtone, alarm and notification uris.
Other APIs required for ringtone playback is also provided by SoundManager. All the uris will be saved in persistent memory of the device.
Please see [**SystemSoundManager**](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-audio.md##systemsoundmanager) for the list of APIs supported by SoundManager.
## **Usage**
- Here's an example of how to use SoundManager to save and retrieve alarm uri
1. Use **getSystemSoundManager** to get an SoundManager instance.\
2. Use **setSystemRingtoneUri** to set system ringtone uri\
Application should provide the application *context*, *uri* to be saved and the [*RingtoneType*](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-audio.md#ringtonetype8) while using this API.
console.log('Callback invoked to indicate a successful system ringtone uri setting.');
}
})
```
3. Use **getSystemRingtonePlayer** to get ringtone player instance\
Application should provide the application *context* and the [*RingtoneType*](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-audio.md#RingtoneType8) while using this api.
4. Use **configure** api to configure the ringtone player
[*RingtoneOptions*](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-audio.md#ringtoneoptions8) should be provided while using this api.