Audio Clip trouble

I have an audio clip that uses AudioSource.PlayClipAtPoint to play when a button is pressed. The button that is pressed makes the scene change, so it only plays part of the audio clip. How would I get the audio clip play fully while still changing scenes
(Note: It is only a second or 2 long, I dont want it to keep playing throughout the scene)

var yourAudio : AudioSource;

function OnGUI()
    {
    if(GUI.Button(new Rect(10,10,100,100))
    {
    audio.Play();
    ChangeScene();
    }
    }
    function ChangeScene()
    {
    yield WaitForSeconds(10);//delay time to finish your sound
    //then load a scene
    Application.LoadLevel(0);
    
    }

I dont know if this code will help you but i think this will give you an idea to your problem

The way that I’m handling this is that for AudioClips that need to be played across scenes I play them on an AudioSource that is associated with a script on a GameObject that I’ve used “DontDestroyOnLoad” with.

In my case (for better or worse) I have a “GameController” that survives across all scene changes. That is where I store my “persistent” data. This allows me to fade in the loading scenes ambient “soundtrack” while fading out the exiting scenes "soundtrack:

Let me know if you would like me to expand on this.