Class Voice

Class Documentation

class Voice

One independently controlled playback.

Controls and snapshots are synchronized. Pause preserves progress; resume affects only Paused voices. Stop is terminal until restart explicitly requests frame zero. Finished voices also need restart. Changing looping does not restart a stopped/finished voice. Snapshot state can change immediately afterward as native playback progresses. A handle may survive its system: snapshot then reports Closed, and controls throw. Releasing a handle does not stop an active voice; the system retains playback.

Public Functions

virtual ~Voice() = default
virtual ::CE::Audio::VoiceSnapshot snapshot() const = 0

Declaration: [[nodiscard]]

virtual void pause() = 0
virtual void resume() = 0
virtual void stop() = 0
virtual void restart() = 0
virtual void set_volume(float volume) = 0
virtual void set_looping(bool looping) = 0