---
name: "al_play_sample"
section: "3"
platform: "linux"
package: "allegro"
version: "5.2.11.3-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/al_play_sample"
---

# al\_play\_sample(3)

Allegro 5 API

## NAME

al\_play\_sample - Allegro 5 API

## SYNOPSIS

-

  ```
  #include <allegro5/allegro_audio.h>
  bool al_play_sample(ALLEGRO_SAMPLE *spl, float gain, float pan, float speed,
     ALLEGRO_PLAYMODE loop, ALLEGRO_SAMPLE_ID *ret_id)
  ```

## DESCRIPTION

Plays a sample on one of the sample instances created by [al\_reserve\_samples(3)](/al_reserve_samples/3.md). Returns true on success, false on failure. Playback may fail because all the reserved sample instances are currently used.

Parameters:

- •

  gain - relative volume at which the sample is played; 1.0 is normal.

- •

  pan - 0.0 is centred, -1.0 is left, 1.0 is right, or ALLEGRO\_AUDIO\_PAN\_NONE.

- •

  speed - relative speed at which the sample is played; 1.0 is normal.

- •

  loop - ALLEGRO\_PLAYMODE\_ONCE, ALLEGRO\_PLAYMODE\_LOOP, or ALLEGRO\_PLAYMODE\_BIDIR

- •

  ret\_id - if non-NULL the variable which this points to will be assigned an id representing the sample being played. If [al\_play\_sample(3)](/al_play_sample/3.md) returns `false`, then the contents of ret\_id are invalid and must not be used as argument to other functions.

## SEE ALSO

[al\_load\_sample(3)](/al_load_sample/3.md), [ALLEGRO\_PLAYMODE(3)](/ALLEGRO_PLAYMODE/3.md), [ALLEGRO\_AUDIO\_PAN\_NONE(3)](/ALLEGRO_AUDIO_PAN_NONE/3.md), [ALLEGRO\_SAMPLE\_ID(3)](/ALLEGRO_SAMPLE_ID/3.md), [al\_stop\_sample(3)](/al_stop_sample/3.md), [al\_stop\_samples(3)](/al_stop_samples/3.md), [al\_lock\_sample\_id(3)](/al_lock_sample_id/3.md).
