Question by
lambda01 · Apr 08, 2020 at 11:12 AM ·
programmingsoundmultiplayer-networkingmusic
Play music and display an image synchronously on all clients with UNET
I have a server object choosing randomly (from a list) an image and song to play everytime audio isnt playing, and im trying to get these data from a client object to play the same song and image on all clients.
Here's what i actually have (woks only on server side)
public class Random_MusicImage_Server : NetworkBehaviour
{
public GameObject ClientPlayer;
public AudioClip[] musics;
public Sprite[] images;
private AudioSource audio;
private SpriteRenderer imageRend;
[SyncVar]
public float mu_time;
public int id_m;
public int id_i;
// Use this for initialization
void Start()
{
audio = GetComponent<AudioSource>();
imageRend = GetComponent<SpriteRenderer>();
}
void Update()
{
//Change when the song is finished
if (!audio.isPlaying)
{
if (isServer)
{
id_m = Random.Range(0, musics.Length);
id_i = Random.Range(0, images.Length);
//CmdChange(id_m, id_i);
//imageRend.sprite = images[id_i];
audio.clip = musics[id_m];
audio.Play();
}
}
if (isServer)
{
mu_time = audio.time;
}
}
}
public class Random_MusicImage_Client : MonoBehaviour
{
public GameObject ServerPlayer;
public AudioClip[] musics;
public Sprite[] images;
private AudioSource audio;
private SpriteRenderer imageRend;
// Use this for initialization
void Start()
{
audio = GetComponent<AudioSource>();
imageRend = GetComponent<SpriteRenderer>();
}
// Update is called once per frame
void Update()
{
//Change when the song is finished
if (!audio.isPlaying && ServerPlayer.GetComponent<AudioSource>().clip != null)
{
audio.clip = musics[ServerPlayer.GetComponent<Random_MusicImage_Server>().id_m];
audio.Play();
//Change image
imageRend.sprite = images[ServerPlayer.GetComponent<Random_MusicImage_Server>().id_i];
audio.time = ServerPlayer.GetComponent<Random_MusicImage_Server>().mu_time;
}
}
}
I cant manage to think of a working solution, any idea ?
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220612230823im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Using Grid-like singletons for continuous Audio 0 Answers
Audio is way too soft on mobile but alright in Unity Editor! 0 Answers
One Song plays but the other does not? 0 Answers
iOS Audio Skipping Tracks 0 Answers
Stereo Sounds In 3D Space 1 Answer