#include <windows.h>
#include <mmsystem.h>
#include <iostream>
#include <string.h>
#include <fstream>
char *sounds[] = {"d.wav","ai.wav","v.wav","i.wav"};
int main()
{
char input[20];
int k;
int i = 0;
std::cin >> input;
while (input[i])
{
k = input[i] - 'a';
PlaySound(TEXT(sounds[k]), NULL, SND_ASYNC);
}
system("pause");
}
В попытке сделать программу для преобразования текста в речь я столкнулся с этой проблемой.C++ Text-To-Speech undefined errors
int k, считывает ввод и воспроизводит файл .wav, связанный с прочитанной строкой. Проблема возникает от PlaySound(TEXT(sounds[k]), NULL, SND_ASYNC);
. Ошибки считаются: (IntelliSense: идентификатор «Lsounds» не определен) и (ошибка C2065: «Заряды»: необъявленный идентификатор). Однако, похоже, что это означает одно и то же, я не могу найти источник проблемы или что ее вызывает. Как было/не было никаких ограничений и как я его исправить?
Где вы инкремент «я» в цикле в то время? Ах .. может быть, в макросе? –
В этом есть много проблем, не в последнюю очередь из-за того, что этот подход TTS не использовался в течение 25 лет, по уважительной причине. У каждой крупной ОС уже есть готовые решения, а настоящие - не такие. Также файлы «wav»:/ – Blindy
Да, SAPI - пример того, что приходит встроенным. Легкий способ решить эту конкретную проблему - не пытаться поддерживать старые системы, используя утилиты, связанные с TCHAR, и передавать широкие строки в функции winapi. – chris