[Partially Solved] Play Random Song
Hi All,
I'm trying to play a random song and can't seem to get it to work. Unity isn't recognizing "Random". I have four songs called "game_music.mp3", "game_music2.mp3", "game_music3.mp3", "game_music4.mp3" located in my Audio folder.
Here is my current code, which plays just "game_music.mp3" (which is Element 1 in my MusicBase script). I'm looking to randomly play either Element 1, 2, 3, or 4 each time this code is ran.
private GameState GameStatus;
public bool itemsHided;
public int moveID;
public int lastRandColor;
public bool onlyFalling;
public bool levelLoaded;
public Hashtable countedSquares;
public Sprite doubleBlock;
public bool FacebookDisable;
public GameState gameStatus {
get { return GameStatus; }
set {
GameStatus = value;
if (value == GameState.PrepareGame) {
MusicBase.Instance.GetComponent<AudioSource> ().Stop ();
MusicBase.Instance.GetComponent<AudioSource> ().loop = true;
MusicBase.Instance.GetComponent<AudioSource> ().clip = MusicBase.Instance.music [1];
MusicBase.Instance.GetComponent<AudioSource> ().Play ();
PrepareGame ();
Any help would be EXTREMELY appreciated!
Thanks!
Answer by acarterczyz · Dec 24, 2015 at 04:40 PM
I have a temporary fix. This seems to be working now.
private GameState GameStatus;
public bool itemsHided;
public int moveID;
public int lastRandColor;
public bool onlyFalling;
public bool levelLoaded;
public Hashtable countedSquares;
public Sprite doubleBlock;
public bool FacebookDisable;
int GamePlaySelection = 0;
public GameState gameStatus {
get { return GameStatus; }
set {
GameStatus = value;
if (value == GameState.PrepareGame) {
GamePlaySelection = UnityEngine.Random.Range (1,4);
MusicBase.Instance.GetComponent<AudioSource> ().Stop ();
MusicBase.Instance.GetComponent<AudioSource> ().loop = true;
if(GamePlaySelection == 1)
MusicBase.Instance.GetComponent<AudioSource> ().clip = MusicBase.Instance.music [1];
if(GamePlaySelection == 2)
MusicBase.Instance.GetComponent<AudioSource> ().clip = MusicBase.Instance.music [2];
if(GamePlaySelection == 3)
MusicBase.Instance.GetComponent<AudioSource> ().clip = MusicBase.Instance.music [3];
if(GamePlaySelection == 4)
MusicBase.Instance.GetComponent<AudioSource> ().clip = MusicBase.Instance.music [4];
MusicBase.Instance.GetComponent<AudioSource> ().Play ();
PrepareGame ();
Your answer
Follow this Question
Related Questions
Audio Cutting Out Unexplainably 1 Answer
Audio Mixer and AudioClip 0 Answers
Audio is way too soft on mobile but alright in Unity Editor! 0 Answers
How to change AudioClip load type, which was loaded from drive? 0 Answers
Precise metronome problem 1 Answer