Название: Вопрос по взаимодействию методов классов Отправлено: arzamas16 от Декабрь 18, 2013, 18:30 Добрый вечер. Прошу вашей помощи, окончательно запутался в ООП.
Пишу приложение, управляемое голосом. Обработка голосовых команд (аудиозапись, распознавание) производится в отдельном потоке. Алгоритм примерно такой: в отдельном потоке работает цикл (запись 2 секунды, распознавание) если распознано ключевое слово, то выходим из цикла и записываем фразу, распознаем. Не получается это все связать. Код: cmAudio = new CmAudio; Как можно по сигналу таймера остановить запись, и начать сразу же новую. Название: Re: Вопрос по взаимодействию методов классов Отправлено: gil9red от Декабрь 18, 2013, 19:36 CmAudio наследуется от QObject или другого его потомка?
Если нет, то придется отнаследоваться, чтоб сигналами и слотами пользоваться Или написать создание экземпляра и вызов функций CmAudio в классе, наследуемом QObject или другого его потомка :) Что-то вроде такого: Код
Код
Название: Re: Вопрос по взаимодействию методов классов Отправлено: arzamas16 от Декабрь 18, 2013, 20:05 Спасибо, CmAudio унаследовано от QObject, а как лучше будет, запихать распознавание и запись в один класс или по разным?
Название: Re: Вопрос по взаимодействию методов классов Отправлено: Bepec от Декабрь 18, 2013, 20:16 Если распознавание будет приличным (%70-80 с посторонними шумами) то буду благодарен за выложенный класс :)
Название: Re: Вопрос по взаимодействию методов классов Отправлено: arzamas16 от Декабрь 18, 2013, 20:36 Распознавание на основе Google Speech
Название: Re: Вопрос по взаимодействию методов классов Отправлено: Bepec от Декабрь 18, 2013, 20:38 ааа, тогда не надо. Кстати примеров вроде полным полно по гуглю на С++.
PS моё "кошка кошка раз два три" он никогда не распознаёт :( Название: Re: Вопрос по взаимодействию методов классов Отправлено: arzamas16 от Декабрь 22, 2013, 08:45 Еще вопрос, не совсем по теме, как можно сделать проверку сигнала на входе микрофона, если уровень звука превышен начать запись? Может быть audioprobe?
|