# Accessing information about media files stored on a device

The Media Management Service API allows widgets to retrieve information about the media files stored in the Media Gallery of a device. You can use the Media Management Service to access information about the following types of media:

- Music

- Sounds

- Images

- Video

- Streaming media

Using the Media Management Service, you can create widgets, such as a custom photo viewer or audio player, that display or otherwise incorporate media.

### Accessing the API and supported methods

To create a service object for the Media Management Service API, use `Service.MediaManagement` to identify the service provider and `IDataSource` to identify the supported interface:

    var so = device.getServiceObject("Service.MediaManagement", "IDataSource");

The `IDataSource` interface provides the following methods:

- `GetList()`

  Use the `GetList()` method to retrieve information from a given service or data source on the device.

- `Cancel()`

  Use the `Cancel()` method to cancel an ongoing asynchronous call. This method is valid for any asynchronous call made through the Media Management Service API.

### Using the service in a widget

To access media file information using the Media Management Service API:

1. Create a service object for the API using `device.getServiceObject()`.

2. Define the type of media about which you want to retrieve information.

3. Optionally, define how you want the results sorted.

4. Define a handler method to process the results.

5. Retrieve the media file information using `GetList()` together with `callback()`.

6. Process the results in the handler method defined in step 4.

For the complete source of a sample widget that demonstrates how to use this service, see the full example.