# DownloadHandlerAudioClip

> A DownloadHandler subclass specialized for downloading audio data for use as AudioClip objects.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.Networking](/engine/6000.3/script-reference/unityengine/networking.md)
* **Assembly:** UnityEngine.UnityWebRequestAudioModule
* **Inherits from:** [DownloadHandler](/engine/6000.3/script-reference/unityengine/networking/downloadhandler.md)
* **Implements:** [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable)

```csharp
public sealed class DownloadHandlerAudioClip : DownloadHandler, IDisposable
```

## Remarks

DownloadHandlerAudioClip stores received data in a pre-allocated Unity [AudioClip](/engine/6000.3/script-reference/unityengine/audioclip.md) object. It is optimized for downloading audio data from Web servers, and may perform audio data decompression and decoding on a worker thread.

For use cases where you wish to download an audio clip via HTTP and use it as an [AudioClip](/engine/6000.3/script-reference/unityengine/audioclip.md) within Unity, usage of this class is strongly recommended.

## Examples

```csharp
using System.Collections;
using UnityEngine;
using UnityEngine.Networking;

public class AudioDownloader : MonoBehaviour {

    void Start () {
        StartCoroutine(GetAudioClip());
    }

    IEnumerator GetAudioClip() {
        using (var uwr = UnityWebRequestMultimedia.GetAudioClip("https://myserver.com/mysound.ogg", AudioType.OGGVORBIS)) {
            yield return uwr.SendWebRequest();
            if (uwr.result != UnityWebRequest.Result.Success) {
                Debug.LogError(uwr.error);
                yield break;
            }

            AudioClip clip = DownloadHandlerAudioClip.GetContent(uwr);
            // use audio clip
        }
    }
}
```

## Constructors

| Constructor                                                                                                                                                                                           | Description                                                               |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| [DownloadHandlerAudioClip(System.String,UnityEngine.AudioType)](/engine/6000.3/script-reference/unityengine/networking/downloadhandleraudioclip/ctor.md#downloadhandleraudioclip\(string-audiotype\)) | Constructor, specifies what kind of audio data is going to be downloaded. |
| [DownloadHandlerAudioClip(System.Uri,UnityEngine.AudioType)](/engine/6000.3/script-reference/unityengine/networking/downloadhandleraudioclip/ctor.md#downloadhandleraudioclip\(uri-audiotype\))       | Constructor, specifies what kind of audio data is going to be downloaded. |

## Properties

| Property                                                                                                      | Description                                                                                                          |
| ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| [audioClip](/engine/6000.3/script-reference/unityengine/networking/downloadhandleraudioclip/audioclip.md)     | Returns the downloaded [AudioClip](/engine/6000.3/script-reference/unityengine/audioclip.md), or `null`. (Read Only) |
| [compressed](/engine/6000.3/script-reference/unityengine/networking/downloadhandleraudioclip/compressed.md)   | Create  that is compressed in memory.                                                                                |
| [streamAudio](/engine/6000.3/script-reference/unityengine/networking/downloadhandleraudioclip/streamaudio.md) | Create streaming [AudioClip](/engine/6000.3/script-reference/unityengine/audioclip.md).                              |

## Static Methods

| Method                                                                                                      | Description                                                                                              |
| ----------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| [GetContent](/engine/6000.3/script-reference/unityengine/networking/downloadhandleraudioclip/getcontent.md) | Returns the downloaded [AudioClip](/engine/6000.3/script-reference/unityengine/audioclip.md), or `null`. |

## Inheritance

**Inherited Members:**

* [DownloadHandler.Dispose()](/engine/6000.3/script-reference/unityengine/networking/downloadhandler/dispose.md)
* [DownloadHandler.isDone](/engine/6000.3/script-reference/unityengine/networking/downloadhandler/isdone.md)
* [DownloadHandler.error](/engine/6000.3/script-reference/unityengine/networking/downloadhandler/error.md)
* [DownloadHandler.nativeData](/engine/6000.3/script-reference/unityengine/networking/downloadhandler/nativedata.md)
* [DownloadHandler.data](/engine/6000.3/script-reference/unityengine/networking/downloadhandler/data.md)
* [DownloadHandler.text](/engine/6000.3/script-reference/unityengine/networking/downloadhandler/text.md)
