C# 音频播放示例代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36981814/article/details/83746829

库文件:

使用VS自带的speech或者DotNetSpeech

代码实现:

基本实现:

using DotNetSpeech;

SpVoice speech = new SpVoice();
speech.Rate = 1;
speech.Volume = 100

speech.Speak("文本文件", SpeechVoiceSpeakFlags.SVSFlagsAsync);

 

DotNetSpeech使用详解:

界面:

主要功能:

1.获取语音引擎以及音频输出方式

//初始化语音引擎列表
foreach (ISpeechObjectToken Token in speech.GetVoices(string.Empty, string.Empty))
{
    cmbVoices.Items.Add(Token.GetDescription(49));
}
//取得音频输出列表
foreach (ISpeechObjectToken AudioOut in speech.GetAudioOutputs(string.Empty, string.Empty))
{
    cmbAudioOut.Items.Add(AudioOut.GetDescription(49));
}

2.调节音量以及语速

private void cmbVoices_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    speech.Voice = speech.GetVoices(string.Empty,     string.Empty).Item(cmbVoices.SelectedIndex);
}

private void cmbAudioOut_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    speech.AudioOutput = speech.GetAudioOutputs(string.Empty, string.Empty).Item(cmbAudioOut.SelectedIndex);
}

private void tbarRate_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
    speech.Rate = (int)e.NewValue;
}

private void trbVolume_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
    speech.Volume = (int)e.NewValue;
}

3.朗读文本

  speech.Speak(tbspeech.Text, SpeechVoiceSpeakFlags.SVSFlagsAsync);

示例代码

猜你喜欢

转载自blog.csdn.net/qq_36981814/article/details/83746829