Пример #1
0
        /// <summary>
        /// 対応する音声ファイル名を返す。
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        public static string FileNameOf(SoundEnum e)
        {
            if (e.IsKoma())
            {
                return(KomaFileNameOf(e));
            }

            if (SoundEnum.SQ_11 <= e && e <= SoundEnum.SQ_99)
            {
                return(FileNameOf((Square)(e - SoundEnum.SQ_11)));
            }

            if (SoundEnum.PiecePAWN <= e && e <= SoundEnum.PieceLast)
            {
                return(FileNameOf((Piece)(e - SoundEnum.PiecePAWN + (int)Piece.PAWN)));
            }

            if (e.IsByoyomi())
            {
                return(ByoyomiFileNameOf(e));
            }

            // それ以外なので特別なもののはず..
            return(SpecialFileNameOf(e));
        }
Пример #2
0
        /// <summary>
        /// すぐに再生する。他の再生を待たずに。
        /// </summary>
        /// <param name="e"></param>
        public void Play(SoundEnum e)
        {
            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();
        }
Пример #3
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);
        }
Пример #4
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();
        }