resources.loadAll() returning errors from Java

The exact error message is this

NullReferenceException: Object reference not set to an instance of an object
JukeBox.getSong () (at Assets/Standard Assets/Scripts/JukeBox.js:18)
SphereStear.Start () (at Assets/Standard Assets/Scripts/Player Controller/SphereStear.js:140)

so here is my class

#pragma strict
    public class JukeBox 
    {
    var PlayList : AudioClip[];
    var returnTrack : AudioClip;
    var nextTrack : int;
    
    function Start ()
    {
    
    PlayList = Resources.LoadAll("Music")as AudioClip[];
    
    }
    
    
    public function getSong() : AudioClip
    {
    nextTrack = PlayList.length; // NUll reference excpetion generated here
    returnTrack = PlayList[Random.Range(0,nextTrack)] as AudioClip; 
    return returnTrack;
    }
    
    }

my main class fetches it like such

import JukeBox;
var Radio : JukeBox;

function start()
{
Radio = new JukeBox();
audio.clip = Radio.getSong();//start of error branch
audio.loop = false;
audio.Play();
}

Although it has never generated an error on that side.Only in the class.

I have tried explicitely casting with the as AudioClip and without

I have tried making PLayList an array of Object

I have tried PlayList.Length and length
.Cast().ToArray() with Linq fails with about 700 syntax errors

I have read every APi and every answer I could find for
LoadResources doesn’t work etc

If anyone can help, it would be awesome.
the few times print or debug have worked, it shows PlayList.length as 0

Make a game object which contain JukeBox script. Then get Radio like Radio = gameobjectrefernce.Getcomponent(“JukeBox”); hope it will solve the problem