我需要将在应用程序内部创建的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/

10-10 07:59