我需要将在应用程序内部创建的wave转换为位数组,然后返回。
我不知道如何开始。
这是我创建声音文件的地方。
private void forecast(string forecast)
{
MemoryStream streamAudio = new MemoryStream();
System.Media.SoundPlayer m_SoundPlayer = new System.Media.SoundPlayer();
SpeechSynthesizer speech = new SpeechSynthesizer();
speech.SetOutputToWaveStream(streamAudio);
speech.Speak(forecast);
streamAudio.Position = 0;
m_SoundPlayer.Stream = streamAudio;
m_SoundPlayer.Play();
// Set the synthesizer output to null to release the stream.
speech.SetOutputToNull();
}
最佳答案
调用Speak
之后,数据就在MemoryStream
中。您可以将其放入字节数组,然后执行您喜欢的任何操作:
speech.Speak(forecast);
byte[] speechBytes = streamAudio.ToArray();
speechBytes
包含您要查找的数据。关于c# - 将Wav文件转换为位数组并返回(流音频),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24087712/