playOneShot method

AudioVoice playOneShot(
  1. AudioClip clip, {
  2. Vector3? position,
  3. double volume = 1.0,
  4. double pitch = 1.0,
  5. AudioBus? bus,
  6. AudioAttenuation? attenuation,
})

Plays clip once, fire and forget. With a position the sound is spatialized there (stationary); without one it plays flat. The returned voice can adjust or stop the playback.

Implementation

AudioVoice playOneShot(
  AudioClip clip, {
  Vector3? position,
  double volume = 1.0,
  double pitch = 1.0,
  AudioBus? bus,
  AudioAttenuation? attenuation,
}) {
  final voice = createVoice(clip);
  voice.volume = volume;
  voice.pitch = pitch;
  voice.setBus(bus);
  voice.setPositional(position != null);
  if (position != null) {
    voice.update3d(
      position,
      Vector3.zero(),
      attenuation ?? _oneShotAttenuation,
    );
  }
  voice.start();
  return voice;
}