## Spice Audio

Spice Audio — a helper to play and to record audio channels

## Stability Level

Stable, unless otherwise indicated

## Synopsis

    #include <spice-audio.h>

    struct              SpiceAudio;
    struct              SpiceAudioClass;

    SpiceAudio *        spice_audio_get                     (SpiceSession *session,
                                                             GMainContext *context);
    SpiceAudio *        spice_audio_new                     (SpiceSession *session,
                                                             GMainContext *context,
                                                             const char *name);

## Object Hierarchy

      GObject
       +----SpiceAudio

## Properties

      "main-context"             GMainContext*         : Read / Write / Construct Only
      "session"                  SpiceSession*         : Read / Write / Construct Only

## Description

A class that handles the playback and record channels for your application, and connect them to the default sound system.

## Details

### struct SpiceAudio

    struct SpiceAudio;

The SpiceAudio struct is opaque and should not be accessed directly.

### struct SpiceAudioClass

    struct SpiceAudioClass {
        GObjectClass parent_class;
    };

Class structure for SpiceAudio.

GObjectClass `parent_class`; | Parent class.

### spice_audio_get ()

    SpiceAudio *        spice_audio_get                     (SpiceSession *session,
                                                             GMainContext *context);

Gets the SpiceAudio associated with the passed in SpiceSession. A new SpiceAudio instance will be created the first time this function is called for a certain SpiceSession.

Note that this function returns a weak reference, which should not be used after the SpiceSession itself has been unref-ed by the caller.

`session` : | the SpiceSession to connect to
`context` : | a GMainContext to attach to (or `NULL` for default). [allow-none]
Returns : | a weak reference to a SpiceAudio instance or `NULL` if failed. [transfer none]

### spice_audio_new ()

    SpiceAudio *        spice_audio_new                     (SpiceSession *session,
                                                             GMainContext *context,
                                                             const char *name);

### Warning

`spice_audio_new` has been deprecated since version 0.8 and should not be used in newly-written code. Use `spice_audio_get()` instead

Once instantiated, SpiceAudio will handle the playback and record channels to stream to your local audio system.

`session` : | the SpiceSession to connect to
`context` : | a GMainContext to attach to (or `NULL` for default).
`name` : | a name for the audio channels (or `NULL` for application name).
Returns : | a new SpiceAudio instance or `NULL` if no backend or failed.

## Property Details

### The `"main-context"` property

      "main-context"             GMainContext*         : Read / Write / Construct Only

GMainContext to use for the event source.

### The `"session"` property

      "session"                  SpiceSession*         : Read / Write / Construct Only

SpiceSession this SpiceAudio is associated with

## See Also

SpiceRecordChannel, and SpicePlaybackChannel