这就是我使用SpeechSynthesizer
说“你好”的方式,转换为NAudio WaveFormatConversionStream
并再次阅读。
我收到了错误
不是WAVE文件 - 没有RIFF标题
int count = sourceFiles.Count;
WaveFileReader[] reader = new WaveFileReader[count];
var _wavStream = new MemoryStream();
using (SpeechSynthesizer synth = new SpeechSynthesizer())
{
synth.SetOutputToWaveStream(_wavStream);
synth.Speak("Hello");
_wavStream.Position = 0;
int outRate = 44100;
var outFormat = new WaveFormat(outRate, 16, 1);
using (var resampler = new WaveFormatConversionStream(outFormat, new WaveFileReader(_wavStream)))
{
reader[i] = new WaveFileReader(resampler); <====GotTheErrorHere
我该如何解决? 谢谢!
答案 0 :(得分:1)
语音合成器没有制作WAV文件,所以没有RIFF标题。而不是WaveFileReader
你应该使用RawSourceWaveStream
并传入内存流和语音合成器输出的正确WaveFormat
。