Beispiel #1
0
        /// <summary>
        /// 再生queueに追加する。
        /// このメソッドは毎回同じスレッドから呼び出されるものとする。
        ///
        /// GlobalConfig.KifuReadOutがオフ(0)だと再生されない。
        /// </summary>
        /// <param name=""></param>
        public void ReadOut(SoundEnum e)
        {
            if (TheApp.app.config.KifuReadOut == 0)
            {
                return;
            }

            if (!dic.ContainsKey(e))
            {
                var subFolder = e.IsKoma() ? KomaSoundPath : ReadOutSoundPath;
                var filename  = Path.Combine(Path.Combine(SoundPath, subFolder), SoundHelper.FileNameOf(e));
                var s         = new SoundLoader();
                s.ReadFile(filename);
                dic.Add(e, s);
            }

            var sound = dic[e];

            queue.AddQueue(sound);
        }
Beispiel #2
0
        /// <summary>
        /// すぐに再生する。他の再生を待たずに。
        /// </summary>
        /// <param name="e"></param>
        public void Play(SoundEnum e)
        {
            // global設定でオフになっているなら何もせずに帰る。
            var config = TheApp.app.Config;

            if (config.EnableSound == 0)
            {
                return;
            }

            if (!dic.ContainsKey(e))
            {
                var subFolder = e.IsKoma() ? KomaSoundPath : ReadOutSoundPath;
                var filename  = Path.Combine(Path.Combine(SoundPath, subFolder), SoundHelper.FileNameOf(e));
                var s         = new SoundLoader();
                s.ReadFile(filename);
                dic.Add(e, s);
            }

            var sound = dic[e];

            sound.Play();
        }