---
name: "SDL::Mixer::Samples"
section: "3pm"
platform: "linux"
package: "libsdl-perl"
version: "2.548-5+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL::Mixer::Samples"
---

# SDL::Mixer::Samples(3pm)

functions for loading sound samples

## NAME

SDL::Mixer::Samples - functions for loading sound samples

## CATEGORY

Mixer

## METHODS

### get\_num\_chunk\_decoders

```
 my $num_decoders = SDL::Mixer::Samples::get_num_chunk_decoders();
```

Returns the number of available decoders.

### get\_chunk\_decoder

```
 my $decoder = SDL::Mixer::Samples::get_chunk_decoder( $num_decoder );
```

Returns the decoder for the given id.

### load\_WAV

```
 my $mix_chunk = SDL::Mixer::Samples::load_WAV( $file );
```

`"load_WAV"` reads a file and passes it to SDL::Mixer::Samples::load\_WAV\_RW. SO this is a quick way to load a file into a chunk.

Example:

```
 my $chunk = SDL::Mixer::Samples::load_WAV('sample.wav');

 SDL::Mixer::Channels::play_channel(-1, $chunk, -1);
 SDL::delay(2000);
```

### load\_WAV\_RW

```
 my $mix_chunk = SDL::Mixer::Samples::load_WAV_RW( $rwops, $free );
```

`"load_WAV_RW"` is a macro that loads a sound sample from a a block of memory. It supports WAVE-, MOD-, MIDI-, OGG- and MP3 files (sometimes  depends on compilation options). It accepts two arguments, the first being a RWops object from which to read and the second being a flag to  free the source memory after loading is complete or not.

Returns a Mix\_Chunk containing the whole sample on success, or `"undef"` on error.

**Note**: Do not reuse the RWops-object for another call to this function!

Example:

```
 my $rwops = SDL::RWOps->new_file('sample.wav', 'r');

 my $chunk = SDL::Mixer::Samples::load_WAV_RW($rwops, 0);

 SDL::Mixer::Channels::play_channel(-1, $chunk, -1);
 SDL::delay(2000);
```

### quick\_load\_WAV

```
 SDL::Mixer::Samples::quick_load_WAV( $buf );
```

to be documented.

### quick\_load\_RAW

```
 SDL::Mixer::Samples::quick_load_RAW( $buf, $len );
```

to be documented.

### volume\_chunk

```
 my $volume_before = SDL::Mixer::Samples::volume_chunk( $chunk, $new_volume );
```

`"volume_chunk"` let you set and get the volume of a chunk. When a chunk is created is volume is `"MIX_MAX_VOLUME"` (`128`).

If you pass `-1` as `$new_volume` you just get its volume without changing it.

## AUTHORS

See "AUTHORS" in SDL.
