[英]Synchronizing an audio file over network in Unet
我有一个不受客户端控制的gameObject“ plane”。 当主机单击某个按钮时,它会产生带有播放剪辑的音频源。 我想让客户听到声音,我尝试使用rpc,但似乎无法发送。
我不断收到错误消息:在平面(UnityEngine.GameObject)上未发现传入[ClientRpc:InvokeRpcRpc_SendSoundIDToServer]的行为,服务器和客户端应具有相同的NetworkBehaviour实例。
我已经疯了整整一天了,我真的很感激一些帮助。
这是我的代码:
using UnityEngine;
using UnityEngine.Networking;
[RequireComponent(typeof(AudioSource))]
[RequireComponent(typeof(NetworkIdentity))]
public class SpoolUp : NetworkBehaviour
{
private AudioSource source;
public AudioClip[] clips;
public bool start;
void Start()
{
clips = Resources.LoadAll("Audio");
source = GetComponent();
source.playOnAwake = false;
}
public void Spool()
{
start = true;
if (isServer)
PlaySound(0);
}
public void PlaySound(int id)
{
if (id >= 0 && id < clips.Length)
{
RpcPlaySound(id);
}
}
[ClientRpc]
void RpcPlaySound(int id)
{
source.PlayOneShot(clips[id]);
}
PS:我还会收到以下警告:找不到ClientRpc [ClientRpc:InvokeRpcRpcPlaySound]处理程序[netId = 4]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.