Multiple Audio Source problem?

Hi, I have my codes set up like this, it is supposed to play different sound (run, jump, collect, die).
All the audioSources are placed on the same object (the player).
I must have deleted something but I have no idea because the other scenes in my game still run well, but I cannot create new scenes and have it run like that (they are all linked to the same scripts)

	private AudioSource jumpSound;
	private AudioSource runSound;
	private AudioSource collectSound;
	private AudioSource dieSound;


	// Use this for initialization
	void Start () {
		rb = GetComponent<Rigidbody2D> ();
		spriteRenderer = GetComponent<SpriteRenderer> ();
		Anime = GetComponent<Animator> ();
		eggCount = 0;
		FriedEggCount.text = "Fried Eggs Count:  " + eggCount.ToString();
		AudioSource[] Audios = GetComponents<AudioSource> ();
		jumpSound = Audios [0];
		runSound = Audios [1];
		collectSound = Audios [2];
		dieSound = Audios [3];
	}

Unity keeps on saying object reference not set to an instance of an object. If I delete the runSound.Play() code, the game will run perfectly.

if (isGrounded == true && jump == true) 
		{
			isGrounded = false;
			rb.AddForce(new Vector2(0,1*jumpPower));
			jumpSound.Play ();

		}

Take a look at AudioClip
You don’t want to your sounds be source. Leave just one AudioSource and replace others in AudioClip, because they are not source, they are sounds. You can use PlayOneShot to play different clips.

Hi,
you should have no more than one audio source for each game object. if you want to play more than one audio clips on one game object, you should import different audio clips and play each clip as you want:

public AudioSource AS;
public AudioClip clip1,clip2,clip3;

void start(){
AS = getComponent<AudioSource>();
}

playJumpSound(){
AS.clip = clip1;
AS.play();
}

playShootSound(){
AS.clip = clip2;
AS.play();
{