Trait ears::AudioController [] [src]

pub trait AudioController {
    fn play(&mut self);
    fn pause(&mut self);
    fn stop(&mut self);
    fn is_playing(&self) -> bool;
    fn get_state(&self) -> State;
    fn set_volume(&mut self, volume: f32);
    fn get_volume(&self) -> f32;
    fn set_min_volume(&mut self, min_volume: f32);
    fn get_min_volume(&self) -> f32;
    fn set_max_volume(&mut self, max_volume: f32);
    fn get_max_volume(&self) -> f32;
    fn set_looping(&mut self, looping: bool);
    fn is_looping(&self) -> bool;
    fn set_pitch(&mut self, pitch: f32);
    fn get_pitch(&self) -> f32;
    fn set_relative(&mut self, relative: bool);
    fn is_relative(&mut self) -> bool;
    fn set_position(&mut self, position: [f32; 3]);
    fn get_position(&self) -> [f32; 3];
    fn set_direction(&mut self, direction: [f32; 3]);
    fn get_direction(&self) -> [f32; 3];
    fn set_max_distance(&mut self, max_distance: f32);
    fn get_max_distance(&self) -> f32;
    fn set_reference_distance(&mut self, ref_distance: f32);
    fn get_reference_distance(&self) -> f32;
    fn set_attenuation(&mut self, attenuation: f32);
    fn get_attenuation(&self) -> f32;
}

The functionnality that an Audio Source should provide.

Required Methods

fn play(&mut self)

Play or resume the Audio Source.

fn pause(&mut self)

Pause the Audio Source.

fn stop(&mut self)

Stop the Audio Source.

fn is_playing(&self) -> bool

Check if the Audio Source is playing or not.

Return

true if the Audio Source is playing, false otherwise.

fn get_state(&self) -> State

Get the current state of the Audio Source

Return

The state of the Audio Source as a variant of the enum State

fn set_volume(&mut self, volume: f32)

Set the volume of the Audio Source.

A value of 1.0 means unattenuated. Each division by 2 equals an attenuation of about -6dB. Each multiplicaton by 2 equals an amplification of about +6dB.

Argument

  • volume - The volume of the Audio Source, should be between 0. and 1.

fn get_volume(&self) -> f32

Get the volume of the Audio Source.

Return

The volume of the Audio Source between 0. and 1.

fn set_min_volume(&mut self, min_volume: f32)

Set the minimal volume for a Audio Source.

The minimum volume allowed for a source, after distance and cone attenation is applied (if applicable).

Argument

  • min_volume - The new minimal volume of the Audio Source should be between 0. and 1.

fn get_min_volume(&self) -> f32

Get the minimal volume of the Audio Source.

Return

The minimal volume of the Audio Source between 0. and 1.

fn set_max_volume(&mut self, max_volume: f32)

Set the maximal volume for a Audio Source.

The maximum volume allowed for a sound, after distance and cone attenation is applied (if applicable).

Argument

  • max_volume - The new maximal volume of the Audio Source should be between 0. and 1.

fn get_max_volume(&self) -> f32

Get the maximal volume of the Audio Source.

Return

The maximal volume of the Audio Source between 0. and 1.

fn set_looping(&mut self, looping: bool)

Set the Audio Source looping or not

The default looping is false.

Arguments

looping - The new looping state.

fn is_looping(&self) -> bool

Check if the Audio Source is looping or not

Return

True if the Audio Source is looping, false otherwise.

fn set_pitch(&mut self, pitch: f32)

Set the pitch of the source.

A multiplier for the frequency (sample rate) of the source's buffer.

Default pitch is 1.0.

Argument

  • new_pitch - The new pitch of the Audio Source in the range [0.5 - 2.0]

fn get_pitch(&self) -> f32

Set the pitch of the source.

Return

The pitch of the Audio Source in the range [0.5 - 2.0]

fn set_relative(&mut self, relative: bool)

Set the position of the Audio Source relative to the listener or absolute.

Default position is absolute.

Argument

relative - True to set Audio Source relative to the listener false to set the Audio Source position absolute.

fn is_relative(&mut self) -> bool

Is the Audio Source relative to the listener or not ?

Return

True if the Audio Source is relative to the listener false otherwise

fn set_position(&mut self, position: [f32; 3])

Set the Audio Source location in three dimensional space.

OpenAL, like OpenGL, uses a right handed coordinate system, where in a frontal default view X (thumb) points right, Y points up (index finger), and Z points towards the viewer/camera (middle finger). To switch from a left handed coordinate system, flip the sign on the Z coordinate.

Default position is [0., 0., 0.].

Argument

  • position - A three dimensional vector of f32 containing the position of the listener [x, y, z].

fn get_position(&self) -> [f32; 3]

Get the position of the Audio Source in three dimensional space.

Return

A three dimensional vector of f32 containing the position of the listener [x, y, z].

fn set_direction(&mut self, direction: [f32; 3])

Set the direction of the Audio Source.

Specifies the current direction in local space.

The default direction is: [0., 0., 0.]

Argument

direction - The new direction of the Audio Source.

fn get_direction(&self) -> [f32; 3]

Get the direction of the Audio Source.

Return

The current direction of the Audio Source.

fn set_max_distance(&mut self, max_distance: f32)

Set the maximum distance of the Audio Source.

The distance above which the source is not attenuated any further with a clamped distance model, or where attenuation reaches 0.0 gain for linear distance models with a default rolloff factor.

The default maximum distance is +inf.

Argument

max_distance - The new maximum distance in the range [0., +inf]

fn get_max_distance(&self) -> f32

Get the maximum distance of the Audio Source.

Return

The maximum distance of the Audio Source in the range [0., +inf]

fn set_reference_distance(&mut self, ref_distance: f32)

Set the reference distance of the Audio Source.

The distance in units that no attenuation occurs. At 0.0, no distance attenuation ever occurs on non-linear attenuation models.

The default distance reference is 1.

Argument

  • ref_distance - The new reference distance of the Audio Source.

fn get_reference_distance(&self) -> f32

Get the reference distance of the Audio Source.

Return

The current reference distance of the Audio Source.

fn set_attenuation(&mut self, attenuation: f32)

Set the attenuation of a Audio Source.

Multiplier to exaggerate or diminish distance attenuation. At 0.0, no distance attenuation ever occurs.

The default attenuation is 1.

Arguments

attenuation - The new attenuation for the Audio Source in the range [0., 1.].

fn get_attenuation(&self) -> f32

Get the attenuation of a Sound.

Return

The current attenuation for the Audio Source in the range [0., 1.].

Implementors