Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.06.2015
Сообщений: 3
.NET 4.x

Выдает ошибку при использовании SetInputToDefaultAudioDevice()

29.01.2017, 12:23. Показов 1817. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Выдает ошибку Cannot find the requested data item, such as a data key or value. -2146233079 Microsoft.Speech Void SetInputToDefaultAudioDevice()

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
using System;
using System.Globalization;
using System.Diagnostics;
using System.Runtime.InteropServices;
using Microsoft.Speech.Recognition;
using Microsoft.Speech.Synthesis;
 
namespace ConsoleRecognitionProgram
{
    class SpeechProgram
    {
        static SpeechSynthesizer synthesizer = new SpeechSynthesizer();
        static SpeechRecognitionEngine recognition;
        static bool wait = true;
        static bool record = true;
 
        static void Main(string[] args)
        {
            try
            {
                CultureInfo ci = new CultureInfo("ru-RU");
                recognition = new SpeechRecognitionEngine(ci);
                recognition.SpeechRecognized += Recognition_SpeechRecognized;
 
                GrammarBuilder gb_text = new GrammarBuilder();
                gb_text.Append("Привет");
                Grammar g_text = new Grammar(gb_text);
 
                Choices ch_commandStartStop = new Choices();
                ch_commandStartStop.Add("старт");
                ch_commandStartStop.Add("стоп");
                ch_commandStartStop.Add("вырубай все");
                GrammarBuilder gb_startStop = new GrammarBuilder();
                gb_startStop.Append(ch_commandStartStop);
                Grammar g_startStop = new Grammar(gb_startStop);
 
                recognition.LoadGrammarAsync(g_startStop);
                recognition.LoadGrammarAsync(g_text);
                recognition.SetInputToDefaultAudioDevice();
                recognition.RecognizeAsync(RecognizeMode.Multiple);
 
                while (wait == true) { ; }
                Console.WriteLine("Для выхода из консоли нажимите <Enter>.");
                Console.ReadLine();
            }
            catch (Exception ex)
            {
              Console.WriteLine(ex.Message);
              Console.WriteLine(ex.HResult + " " + ex.Source + " " + ex.TargetSite);
              Console.ReadLine();
            } 
 
    }
 
        private static void Recognition_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            string txt = e.Result.Text;
            Console.WriteLine(e.Result.Text);
            if (txt.IndexOf("старт")>=0)
            {
                Console.WriteLine("Начало записи");
                record = true;
            }
            if (txt.IndexOf("стоп")>=0)
            {
                Console.WriteLine("Запись остановлена");
                record = false;
            }
            if (txt.IndexOf("вырубай")>=0 && txt.IndexOf("все") >= 0)
            {
                ((SpeechRecognitionEngine)sender).RecognizeAsyncCancel();
                wait = false;
                Console.WriteLine("Все!");
            }
            if(txt.IndexOf("Привет")>=0)
            {
                Console.WriteLine("Привет");
            }
        }
    }
}
Я думал если не получается подключить микрофон напрямую, то можно ли сделать так, чтобы звук записывался и сразу передавался в функцию, но при этом, что бы программа всегда слушала, говорят ей или нет
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.01.2017, 12:23
Ответы с готовыми решениями:

При использовании инициализатора для присваивания значения автоматическому свойству выдаёт ошибку
При использовании инициализатора для присваивания значения автоматическому свойству выдаёт ошибку &quot;CS7036 Отсутствует аргумент,...

Исправить ошибку при использовании класса Animal
Я только начал учить. Почему то ошибку выдает, объясните почему class Animal { string kindOfAnimal; string name; int...

Не понимаю ошибку при использовании базы данных
Всем привет System.Data.SqlClient.SqlException: 'Login failed for user 'userid'.' Такая ошибка This exception was originally...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.01.2017, 12:23
Помогаю со студенческими работами здесь

Компилятор выдает ошибку при использовании фабричного метода
Всем привет!!! новая ошибка... смотрите, теперь у меня есть класс template &lt;typename T&gt; struct Node{ T key; ...

При повторном использовании recursive_directory_iterator программа выдает ошибку
при повторном использовании recursive_directory_iterator программа дает вот такое: Как я понимаю recursive_directory_iterator в...

Почему реализованная структура при использовании выдает ошибку?
Доброго времени суток, уважаемые форумчане! Написал программу моделирующую работу светофора, но при использовании структуры data, не...

Почему при использовании функции scanf программа выдаёт ошибку?
При использовании команды scanf программа выдаёт ошибку. Printf работает нормально. В чем может быть проблема? Среда разработки - Dev c++...

Сервер выдает ошибку при использовании wsgi приложений на flask
В общем есть такая иерархия папок mypro test venv __init__.py appwsgi.wsgi


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru