Example #1
0
        public void SetVolume(float decibel, ESoundTrack track)
        {
            string key;

            switch (track)
            {
            case ESoundTrack.BGM1: key = "VolumeBGM1"; break;

            case ESoundTrack.BGM2: key = "VolumeBGM2"; break;

            case ESoundTrack.BGM3: key = "VolumeBGM3"; break;

            case ESoundTrack.SE: key = "VolumeSE"; break;

            case ESoundTrack.Master: key = "VolumeMaster"; break;

            default: return;
            }

            if (float.IsNaN(decibel) || decibel < -96f)
            {
                decibel = -96f;
            }
            else if (decibel > 20f)
            {
                decibel = 20f;
            }
            cRes.AudioMixer.SetFloat(key, decibel);
        }
Example #2
0
        public void Unpause(ESoundTrack track)
        {
            var i = (int)track;

            if (i >= cTrackBgmNum)
            {
                return;
            }

            if (cPausingId[i] != -1)
            {
                cPlayingId[i] = cPausingId[i];
                cPausingId[i] = -1;
                cSources[i].UnPause();
            }
        }
Example #3
0
        public void Stop(ESoundTrack track)
        {
            var i = (int)track;

            if (i >= cTrackBgmNum)
            {
                return;
            }

            cPlayingId[i] = -1;
            cPausingId[i] = -1;

            if (cSources[i].isPlaying)
            {
                cSources[i].Stop();
            }
        }
Example #4
0
        public void Play(int soundId, bool loop, ESoundTrack track)
        {
            if (track == ESoundTrack.SE)
            {
                PlaySE(soundId);
                return;
            }
            var i = (int)track;

            if (i >= cTrackBgmNum)
            {
                return;
            }

            if (cPlayingId[i] == soundId)
            {
                return;
            }
            if (cPausingId[i] == soundId)
            {
                cSources[i].loop = loop;
                Unpause(track);
                return;
            }

            var sound = cRes.GetSnd(soundId);

            if (sound.Data == null)
            {
                return;
            }

            if (cSources[i].isPlaying)
            {
                cSources[i].Stop();
            }

            cPlayingId[i]    = soundId;
            cPausingId[i]    = -1;
            cSources[i].loop = loop;
            cSources[i].clip = sound.Data;
            cSources[i].Play();
        }
Example #5
0
 /// <summary>
 /// 指定された音声トラックのサウンドを一時停止していた場合、再生を再開します。BGMトラック以外では常に無視されます。
 /// </summary>
 /// <param name="track">対象の音声トラック</param>
 public void UnpauseSound(ESoundTrack track = ESoundTrack.BGM1) => cSound.Unpause(track);
Example #6
0
 /// <summary>
 /// 指定された音声トラックのサウンドを一時停止します。BGMトラック以外では常に無視されます。
 /// </summary>
 /// <param name="track">対象の音声トラック</param>
 public void PauseSound(ESoundTrack track = ESoundTrack.BGM1) => cSound.Pause(track);
Example #7
0
 /// <summary>
 /// 指定された音声トラックのサウンドを停止します。BGMトラック以外では常に無視されます。
 /// </summary>
 /// <param name="track">対象の音声トラック</param>
 public void StopSound(ESoundTrack track = ESoundTrack.BGM1) => cSound.Stop(track);
Example #8
0
 /// <summary>
 /// 指定された音声トラックの音量を変更します。
 /// </summary>
 /// <param name="decibel">音量 (-80〜20dB)</param>
 /// <param name="track">対象の音声トラック</param>
 public void SetSoundDecibel(float decibel, ESoundTrack track = ESoundTrack.BGM1) => cSound.SetVolume(decibel, track);
Example #9
0
 /// <summary>
 /// 指定された音声トラックの音量を変更します。
 /// </summary>
 /// <param name="volume">音量(0~100)</param>
 /// <param name="track">対象の音声トラック</param>
 public void SetSoundVolume(int volume, ESoundTrack track = ESoundTrack.BGM1) => cSound.SetVolume(ref volume, track);
Example #10
0
        // 音声

        /// <summary>
        /// サウンドを再生します。
        /// </summary>
        /// <param name="soundId">サウンドID(snd0.wav なら 0, snd1.mp3 なら 1)</param>
        /// <param name="loop">ループ再生するかどうか (SEトラックでは常に無視されます)</param>
        /// <param name="track">対象の音声トラック</param>
        public void PlaySound(int soundId, bool loop = false, ESoundTrack track = ESoundTrack.BGM1) => cSound.Play(soundId, loop, track);
Example #11
0
        public void SetVolume(ref int volume, ESoundTrack track)
        {
            var decibel = 20f * Mathf.Log10(volume * 0.01f);

            SetVolume(decibel, track);
        }