C# 音频播放示例代码
库文件:
使用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);