Example #1
0
        public void Play(string filePath)
        {
            SoundPlayerArgment arg = new SoundPlayerArgment(m_sound, filePath);

            if (soundBgWorker.IsBusy == false)
            {
                soundBgWorker.RunWorkerAsync(arg);
            }
        }
Example #2
0
        /// <summary>
        /// ファイルの読み込みと再生を実行する
        /// </summary>
        private void soundBgWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            SoundPlayerArgment arg = e.Argument as SoundPlayerArgment;

            if (arg == null)
            {
                Debug.WriteLine("ERROR: サウンドオブジェクトを指定してください");
                return;
            }

            if (arg.Sound.Loaded == false || arg.FilePath != "")
            {
                if (File.Exists(arg.FilePath) == false)
                {
                    return;                     //再生するファイルが指定されていない
                }

                //読み込む
                Yanesdk.Ytl.YanesdkResult ret;
                switch (FileType.GetSoundType(arg.FilePath))
                {
                case FileType.SoundType.Ogg:
                case FileType.SoundType.Wave:
                case FileType.SoundType.Midi:
                    ret = arg.Sound.Load(arg.FilePath);
                    break;

                default:
                    ret = Yanesdk.Ytl.YanesdkResult.FileNotFound;
                    return;
                }
                if (ret != Yanesdk.Ytl.YanesdkResult.NoError)
                {
                    Debug.WriteLine("再生できません: ret=" + ret.ToString());
                    return;                     //エラーが発生
                }
            }

            if (arg.Sound.IsPlaying())
            {
                arg.Sound.Stop();                       //再生中の時は一旦停止する
            }

            arg.Sound.Play();
        }