Delaying Audio with PlayedDelayed not working

I have attached this script to the Audio GameObject I want to delay but i don’t get any delay.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DelayAudio : MonoBehaviour {

	// Use this for initialization
	void Start ()
    {
       AudioSource audio = GetComponent<AudioSource>();
       audio.PlayDelayed(3);
    }
	}

I have no idea why that isnt working as im not familiar with the audio api, but for timers and delayed calls, i like to use Invoke. Its really easy to set up.

void KillAudio(){
audio.Dont play anymore;
(pseudocode as im not familiar with audio, use whatever actually stops it)
}

void Start(){
Invoke("KillAudio", 3f);
}

At start, it will call the “KillAudio” method in 3 seconds.