SAPI来自延迟

时间:2015-05-27 20:04:34

标签: c++ sapi

 //All three include files needed for both versions//
#include <sapi.h>
#include <string>
#include <iostream>

//User inputs what is to be said//
int main(int argc, char* argv[])
{
    ISpVoice * pVoice = NULL;

    if (FAILED(::CoInitialize(NULL)))
        return FALSE;

    HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice);
    if (SUCCEEDED(hr))
    {
        std::wstring input;
        while (true)
        {
            std::cout << "Enter text:\n";
            std::getline(std::wcin, input);

            hr = pVoice->Speak(input.c_str(), 0, NULL);
        }
    }
    pVoice->Release();
    pVoice = NULL;
    ::CoUninitialize();
    return 0;
}

代码很简单。它的微软说明如何使用SAPI进行一些编辑,使程序说出用户输入的内容,这是我在本网站上找到的。

我一直试图通过输出获得回声效果。根据我所学到的,回声效果只不过是同时播放相同的音频,延迟时间为10 - 60毫秒(尊重)。

有了这个设置,我找不到同时播放出来的方法,并在两者之间放置一个延迟变量。延迟部分并不难,但它是我无法弄清楚的同步输出。

0 个答案:

没有答案