这个可以使用一个固定的lisener来听这个音乐,现在的情况我想可能是音乐的播放源和接收是不在一个物体上的,这样就会因为角度,距离等等造成上述的情况了。此外,播放一次声音可以使用一个判定。就是在播放声音之前检测这个声源是不是正在播放,对与这个是有相应的函数的,可以试试看。大致的型是if(!XXXX.GetComponent AudioSource ;().isPlaying ){XXXX.GetComponent AudioSource ;().Play ();}这样就好了。