AudioSource Making Strange Sounds when i change Scenes;

So i want to change songs when i switch scenes, for simple example: i have a main menu scene with index is 0 and a Level1 Scene with index 1, however when i changes scenes audiosource is making strange sounds like ZZZZZZZZ, and it is not changing audioclips properly. Here is my Scrirpt:

public AudioClip MainMenuSong;
public AudioClip Level1Song;

private AudioSource MyAudio;
public float MusicVolume = 1f;

public void Start()
{
    MyAudio = GetComponent<AudioSource>();
}

public void Update()
{
    MyAudio.volume = MusicVolume;
    ChangeSongs();
}

public void ChangeSongs() 
{
    int index = SceneManager.GetActiveScene().buildIndex;

    if (index == 0)
    {
        MyAudio.Stop();
        MyAudio.clip = MainMenuSong;
        MyAudio.Play();
    }
    else if (index == 1) 
    {
        MyAudio.Stop();
        MyAudio.clip = Level1Song;
        MyAudio.Play();
    }

}

public void ChangeVolume(float volume)
{
    MusicVolume = volume;
}

void Awake()
{
    int number = FindObjectsOfType<HMusic>().Length;
    if (number > 1)
    {
        Destroy(gameObject);
    }
    else
    {
        DontDestroyOnLoad(gameObject);
    }
}

I am dragging two audio clips in this scripts so that my gameobject changes its audioclip as the scenes change, however when i change them the game makes strange sounds like ZZZZ and it doesn’t change them properly any suggestions?

Oh, i solved the issue. The Problem was that in the update method i was updating functions infinite times, in other words i called myaudio.play(); every second in the update function, all i had to do was make a boolean logic if i was in scene 0 or scene 1 for the first time i played the audio if i was already in scene 1 or 2 i didn’t play the audio thanks to boolean logic.