#unity3d
Вопрос:
Я создаю музыкальный плеер с Unity3D для игрового проекта. У меня возникла проблема со следующим кодом:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MusicManager : MonoBehaviour {
public AudioSource music1;
public AudioSource music2;
private void Start() {
music1.Play();
}
private void Update() {
if (!music1.isPlaying) {
music2.Play();
music1.Pause();
}
if (!music2.isPlaying) {
music1.Play();
music2.Pause();
}
}
}
Проблема, с которой я сталкиваюсь, заключается в том, что music1
это воспроизводится только в течение одной секунды, а затем раздается статический звук. В чем здесь проблема и как я могу ее решить?
Комментарии:
1. Что ж, если ваши аудиоисточники не зацикливаются, вам не нужно приостанавливать их, когда
isPlaying
значение равно false.2. Кроме того, почему бы вам не использовать один аудиоисточник? Если дорожки не перекрываются, вам понадобится только один аудиоисточник, тогда вы можете сослаться на свои аудиоклипы и вызвать метод
AudioSource.PlayOneShot
.3. @Daniel спасибо, пока это работает. Но как мне снова воспроизвести исходный клип после остановки второго клипа?
4. Вы можете сохранить его в переменной и извлечь с помощью
AudioSource.clip
.