public void Stop()
        {
            if (source != null && source.audioSource != null)
            {
                source.Stop();
            }

            source = null;
            paused = false;
        }
Пример #2
0
        public void ApplyClip(AudioClip clip)
        {
            var source = Group.Play(clip);

            this.CurrentSource = source;
            this.clip          = source.clip;
            duration           = source.duration;
            loop   = source.loop;
            volume = source.volume;
            pitch  = source.pitch;
        }
Пример #3
0
        public void Stop()
        {
            if (CurrentSource != null && CurrentSource.audioSource != null)
            {
                CurrentSource.loop = false;
                CurrentSource.Stop();
            }

            CurrentSource = null;
            paused        = false;
        }
Пример #4
0
        // Synch loading
        public AudioSourceWrapper(DeAudioSource source, DeAudioGroup group, AudioManager manager)
        {
            this.CurrentSource = source;
            this.Group         = group;
            this.manager       = manager;
            this.clip          = source.clip;
            duration           = source.duration;
            loop   = source.loop;
            volume = source.volume;
            pitch  = source.pitch;

            manager.OnAudioStarted(this);
        }
        public SampleAudioSource(DeAudioSource source, DeAudioGroup group, SampleAudioManager manager)
        {
            this.source  = source;
            this.group   = group;
            this.manager = manager;
            this.clip    = source.clip;
            duration     = source.duration;
            loop         = source.loop;
            volume       = source.volume;
            pitch        = source.pitch;

            manager.OnAudioStarted(this);
        }
 public bool Update()
 {
     if (source != null)
     {
         if (!source.isPlaying && !source.isPaused && source.time == 0)
         {
             source.locked = false;
             source        = null;
             return(true);
         }
     }
     return(false);
 }
Пример #7
0
 public bool Update()
 {
     if (CurrentSource != null)
     {
         if (!CurrentSource.isPlaying && !CurrentSource.isPaused && CurrentSource.time == 0 && !manager.IsAppPaused)
         {
             CurrentSource.Stop();
             CurrentSource.locked = false;
             CurrentSource        = null;
             return(true);
         }
     }
     return(false);
 }
        public void Play()
        {
            if (paused && source != null)
            {
                source.Resume();
            }
            else
            {
                paused = false;

                source        = group.Play(clip);
                source.locked = true;

                source.pitch  = pitch;
                source.volume = volume;
                source.loop   = loop;
                manager.OnAudioStarted(this);
            }
        }
Пример #9
0
        void DrawRuntimeSourcesFor(DeAudioGroup group)
        {
            Color trueVolumeColor = new Color(0.18f, 0.91f, 0f);
            Color volumeColor     = new Color(0.62f, 0.83f, 0f);
            Color truePitchColor  = new Color(0.96f, 0.15f, 0.97f);
            Color pitchColor      = new Color(0.67f, 0.32f, 0.99f);
            Color timeColor       = new Color(0f, 0.61f, 1f);
            int   len             = group.sources.Count;

            for (int i = 0; i < len; ++i)
            {
                // Sources volume and play time
                DeAudioSource s = group.sources[i];
                if (!s.isPlaying)
                {
                    continue;
                }
                _runtimeStrb.Length = 0;
                _runtimeStrb.Append("└ ").Append(s.clip.name);
                if (s.locked)
                {
                    _runtimeStrb.Append(" [LOCKED]");
                }
                if (s.loop)
                {
                    _runtimeStrb.Append(" [loop]");
                }
                GUILayout.Label(_runtimeStrb.ToString());
                // Volume
                DrawRuntimeSourceBar(volumeColor, s.unscaledVolume, null, s.volume, trueVolumeColor);
                // Pitch
                const float markerP = 1f / 3f;
                DrawRuntimeSourceBar(pitchColor, s.unscaledPitch / 3, markerP, s.pitch / 3, truePitchColor);
                // Elapsed time
                float elapsed = s.audioSource.time / s.clip.length;
                if (elapsed > 1)
                {
                    elapsed = 1;
                }
                DrawRuntimeSourceBar(timeColor, elapsed);
            }
        }
Пример #10
0
        public void Play()
        {
            if (paused && CurrentSource != null)
            {
                CurrentSource.Resume();
            }
            else
            {
                paused = false;

                if (CurrentSource != null)
                {
                    CurrentSource.Stop();
                }

                CurrentSource        = Group.Play(clip);
                CurrentSource.locked = true;

                CurrentSource.pitch  = pitch;
                CurrentSource.volume = volume;
                CurrentSource.loop   = loop;
                manager.OnAudioStarted(this);
            }
        }
 public DeAudioEventArgs(DeAudioEventType type, DeAudioGroup audioGroup, DeAudioSource source)
 {
     this.type       = type;
     this.audioGroup = audioGroup;
     this.source     = source;
 }