将Wav文件转换为位数组并返回(流音频)

时间:2014-06-06 17:40:34

标签: c# audio wav

我需要将我在应用程序中创建的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();

    }

1 个答案:

答案 0 :(得分:1)

在您致电Speak后,数据位于MemoryStream。您可以将其转换为字节数组并执行您喜欢的任何操作:

speech.Speak(forecast);
byte[] speechBytes = streamAudio.ToArray();

speechBytes包含您要查找的数据。