4.指定の音声を使ってテキストの内容を読み上げる(26_Sou_03) (旧、SampleNo.072) |
1.指定の音声を使ってテキストの内容を読み上げる 2. 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86 (Framework3.5 が入っていればVB2005でも動作するようです。) Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :Imports System.Speech.Synthesis 参照設定:System.Speech (Framework3.0 以降?) 参照設定方法参照 使用コン:Button1 / Button1 / TextBox1 / ComboBox1 トロール: このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい) |
1.指定の音声を使ってテキストの内容を読み上げる(072) |
Imports System.Speech.Synthesis Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Call GetVoiceName() End Sub Private Sub GetVoiceName() 'インストールされている音声のコレクションを取得し ComboBox に表示 ComboBox1.Items.Clear() Dim sp As New SpeechSynthesizer 'インストールされている音声合成(音声変換)の音声のコレクションを取得 Dim voices As Collections.ObjectModel.ReadOnlyCollection(Of InstalledVoice) = _ sp.GetInstalledVoices(Globalization.CultureInfo.CurrentCulture) For Each voice As InstalledVoice In voices 'インストールされている音声名を ComboBox1 に書き込み ComboBox1.Items.Add(voice.VoiceInfo.Name.ToString) Debug.Print(voice.VoiceInfo.Name.ToString) Next If ComboBox1.Items.Count > 0 Then ComboBox1.Text = ComboBox1.Items(0).ToString End If End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click '指定の音声を使ってテキストの内容を読み上げる If ComboBox1.SelectedIndex = -1 Then MessageBox.Show("音声名を選択して下さい。") Call GetVoiceName() Exit Sub End If Dim sp As New System.Speech.Synthesis.SpeechSynthesizer '指定の音声を選択 '変更がないなら直接 "TOSHIBA Speech Synthesis Kotone Japanese" のように指定しても OK(3行のコードで済む) sp.SelectVoice(ComboBox1.SelectedItem.ToString) '指定の音声で TextBox の内容を読み上げ sp.Speak(TextBox1.Text) End Sub |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
サウンド sound 音楽 演奏 音声 再生 スピーカー wav WAVE ファイル 音を鳴らす 警告音 音声読み上げ |