Play multiple audioclips

I have no idea how to solve this. The goal is that i want a hitsound to play when a bullet hits its target and when target has 0 health it explodes and plays deathSound:

	public AudioClip hitSound;
	public AudioClip deathSound;
	
	private AudioSource source;
	private float volLowRange = 0.5f;
	private float volHighRange = 1.0f;


	SpriteRenderer spriteRend;

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

	void OnTriggerEnter2D(Collider2D other) {

		if (other.tag == "Bullet" && gameObject.tag != "Bullet" && gameObject.tag != "BigBullet") {
			health--;
			float vol = Random.Range(volLowRange, volHighRange);
			source.PlayOneShot(hitSound,vol);
		}
		
	}
	void Update() {
		if (health <= 0 && gameObject.tag == "Player" | gameObject.tag == "Enemy") {
			Instantiate(tankExplosionPrefab, transform.position, transform.rotation);
			Die ();
		} 
		if (health <= 0 && gameObject.tag == "Player" | gameObject.tag == "Enemy") {
			float vol = Random.Range(volLowRange, volHighRange);
		source.PlayOneShot(deathSound,vol);
			Die ();
            }

The hitSound plays fine, but when the deathSound is about to play I get the following error:
Can not play a disabled audio source
UnityEngine.AudioSource:PlayOneShot(AudioClip, Single)

Why is this??

My guess is that the object that the script is attached to is being destroyed before it can play the audio. You can fix this by just deactivating the enemy so the script isn’t destroyed. I could be wrong though.

I would say that Calesurf is right. The way I would go around this problem is to have an object in the level that houses all the audio assets and to simply call it from that source. That way you are guaranteed to have the sound exist when you need it.

Here’s how you can solve it in order to keep the sound source on the enemy.
Make a second script on the enemy called ‘PlaySound’ or something. All this script will do is play a sound, wait a few seconds, and then destroy the object.

When the enemy dies, just call the function on the PlaySound script, and run Destroy(this); That will destroy the enemy script, allow the PlaySound script to play the sound, where it will then wait a second and destroy the whole object.