I have tested my game in the Editor and everything seems to be working fine. But after I build it into APK, the music won’t load and the game got stuck on the main game scene. I believe there’s something to do with my Main.cs script and some others. Note: I’m trying to load the audio on runtime because I’m using a music selection system.
Main.cs
public int CurrentBeat = 0; public float BPM; public bool RespawnNote = true; public Scoring ScoreSystem; public MusicData MusicData; public int Difficulty = 1; public int Speed = 4; private float FallTime; public AudioSource Music; private AudioClip music2Play; public GameHandler GameData; void Awake(){ try { #region FromStart // preparing objects GameData = FindObjectOfType(); // if this fails, go to catch line music2Play = FindObjectOfType(); // preparing data MusicData = GameData.GetCurrentMusic(); FallTime = 16f / GameData.GameSpeed; Difficulty = GameData.Difficulty; Speed = GameData.GameSpeed; isTest = false; LoadAudio(); // set the clip to the AudioSource Music.clip = music2Play; #endregion } catch (System.Exception) { #region TestTrack // this will be a test script // so you don't need to start // all the way from the beginning // PS: I've set a track as default, so // no more FileName on MusicData isTest = true; MusicData = new MusicData() { Title = "TestTrack", Artist = "", BPM = 120, Offset = testOffset, TrackBeats = TestTrackBeats }; FallTime = 16f / Speed; #endregion } finally { //these lines will be executed no matter what ScoreSystem = FindObjectOfType(); cache = FindObjectOfType(); // preparing latency lateStart = MusicData.Offset > FallTime; } } void LoadAudio() { // load the audio file // note: ignore extension music2Play = Resources.Load(GameData.RawPath + MusicData.FileNameNoExt); music2Play.LoadAudioData(); } IEnumerator Play() { if (!lateStart) yield return new WaitForSeconds(FallTime + MusicData.Offset); Music.Play(); }
I used Start() to call the coroutine Play()
Please, I need a quick solution to this issue. I need to get it finished in a week or two.