Randomizing Main Camera's audio source

I’m working on integrating audio to my game. I’m playing sound by attaching sound to camera’s audio source.

But, I need to randomize the audio source of my camera. can some one please help me with this ?
how should I manipulate this ?

I’m currently using this:

public class PlayRandomAudio : MonoBehaviour {

    public Camera MainCamera;

    public AudioClip[] sounds; // set the array size and fill the elements with the sounds
   
    void  PlayRandom ()
   
    { // call this function to play a random sound
        AudioSource.Instantiate(MainCamera);
        if (audio.isPlaying) return; // don't play a new sound while the last hasn't finished
        audio.clip  = sounds[(int)Random.Range(0.0f,4.0f)];
        MainCamera.audio.Play();

    }
}

I’ve not “done” audio… but what is this line

AudioSource.Instantiate(MainCamera);

meant to do? looks wrong…

That was part of trail on if this is the reason for not playing.
I achieved playing audio with this code.

public class PlayRandomAudio : MonoBehaviour {

    public AudioClip[] sounds; // set the array size and fill the elements with the sounds
   
    void  Start ()
   
    {
        audio.clip  = sounds[(int)Random.Range(0.0f,4.0f)];
        audio.Play();
    }
}

But, on second level, the game becomes damn slow.
Any help here ?