Tengo un problema al ejecutar un sonido largo, ya que quiero hacerlo una sola vez pero solo se ejecuta continuamente el principio del sonido

el código es el siquiente


if (keyboard_check(ord("S"))) && (sound_play_once == false)
{
    audio_play_sound(snd_megabuster_charge, 1, false);
   sound_play_once = true;
}


El codigo me funciona si uso "sound_play" pero quiero usar el nuevo engine, alguna idea? Aviso que no puedo reemplazar "keyboard_check" por "keyboard_check_pressed" porque necesito que se registre que se mantiene presionada la tecla por distintas funciones que estoy agregando al juego.

Mejor usa la función audio_is_playing

Ya lo solucione, el problema no era el codigo, era un error con el sonido que habia cargado XD