Example #1
0
        /// <summary>
        /// 指定された名前の合成音声器を利用しようとします。
        /// 不正な名前が指定された場合は何もしません。
        /// </summary>
        /// <param name="name">合成音声器の名前</param>
        private void UpdateSynthesizer(string name)
        {
            if (!AvailableVoices.Any(v => v.Name == name))
            {
                return;
            }

            if (_currentSynthesizerName != name)
            {
                _currentSynthesizerName = name;

                _currentSynthesizer?.Dispose();
                _currentSynthesizer = null;
            }
        }
Example #2
0
        /// <summary>発声の前に設定を反映し、合成音声器やテキスト変換器が必要な場合それらを準備します。</summary>
        private void UpdateBySetting()
        {
            UpdateSynthesizer(_setting.VoiceType);
            if (_currentSynthesizer == null)
            {
                _currentSynthesizer = AvailableVoices
                                      .Single(s => s.Name == _currentSynthesizerName)
                                      .CreateVoiceSynthesizer();
            }
            _currentSynthesizer.Volume = _setting.Volume;
            _currentSynthesizer.Speed  = _setting.Speed;
            _currentSynthesizer.Pitch  = _setting.Pitch;

            UpdateTextConverter(_setting.TextConverterType);
            if (_textToPronounceConverter == null)
            {
                _textToPronounceConverter = AvailableTextConverters[_textToPronounceConverterName].CreateConverter();
            }
        }
Example #3
0
        /// <summary>発声の前に設定を反映し、合成音声器やテキスト変換器が必要な場合それらを準備します。</summary>
        private void UpdateBySetting()
        {
            UpdateSynthesizer(_setting.VoiceType);
            if (_currentSynthesizer == null)
            {
                _currentSynthesizer = AvailableVoices
                    .Single(s => s.Name == _currentSynthesizerName)
                    .CreateVoiceSynthesizer();
            }
            _currentSynthesizer.Volume = _setting.Volume;
            _currentSynthesizer.Speed = _setting.Speed;
            _currentSynthesizer.Pitch = _setting.Pitch;

            UpdateTextConverter(_setting.TextConverterType);
            if (_textToPronounceConverter == null)
            {
                _textToPronounceConverter = AvailableTextConverters[_textToPronounceConverterName].CreateConverter();
            }
        }
Example #4
0
        /// <summary>
        /// 指定された名前の合成音声器を利用しようとします。
        /// 不正な名前が指定された場合は何もしません。
        /// </summary>
        /// <param name="name">合成音声器の名前</param>
        private void UpdateSynthesizer(string name)
        {
            if (!AvailableVoices.Any(v => v.Name == name)) return;

            if(_currentSynthesizerName != name)
            {
                _currentSynthesizerName = name;

                _currentSynthesizer?.Dispose();
                _currentSynthesizer = null;
            }
        }