Кибор » Кибор - Интегрированная среда разработки ботов » Предложения по программе » Использовать звук!

Страниц (3): [1] 2 3 »
 

1. faryatiev - 14 Сентября, 2018 - 01:45:34 - перейти к сообщению
Добрый день!
Не было ли таких мыслей научить Kibor реагировать на звуки в приложениях?
Пусть не распознавание звуков, а просто по "уровню шума"?
Это сделало бы революцию в ботостроении.
2. Kibor - 14 Сентября, 2018 - 01:57:33 - перейти к сообщению
CODE:
external (INT, "mciSendString", "mciSendStringA", "Winmm.dll");


И можно воспроизводить, записывать и тд звук.
https://www.google.com.ua/search...1.99.anytRF_tTyg
3. faryatiev - 14 Сентября, 2018 - 04:41:15 - перейти к сообщению
Я имел в виду не запись звука, а использование уровня звука как флаг в работе бота.

Поясню на примере: Звук тонущего поплавка можно применить в работе рыболовного бота вместо того, чтобы проводить сложный графический анализ.
4. Kibor - 14 Сентября, 2018 - 04:51:00 - перейти к сообщению
Я понимаю. Ну думаю тут важно не то что делать со звуком, а то что его можно отловить. И применить это как надо. Ну это я дал ссылку на то как использовать Api если надо. Встроенной такой функции пока нет, я еще не думал о этом.
5. faryatiev - 14 Сентября, 2018 - 05:23:19 - перейти к сообщению
Спасибо за ответ!

Нашёл вот этот топик forum . script-coding.com/viewtopic.php?id=8061.

Тут прям почти то что нужно. Но пока не понимаю как этот код вставить в Kibor.
6. Kibor - 14 Сентября, 2018 - 05:41:05 - перейти к сообщению
В Кибор это никак не вставить. Это подключение mciSendString в AutoHotkey.

Как подключать mciSendString в Кибор есть тут
Проигрывание звука

Вот собственно пример записи с микрофона

CODE:
external (INT, "mciSendString", "mciSendStringA", "Winmm.dll");

mciSendString("open new Type waveaudio Alias recsound", "", 0, 0);
mciSendString("set recsound bitspersample 16", "", 0, 0);
mciSendString("set recsound samplespersec 44100", "", 0, 0);
mciSendString("record recsound", "", 0, 0);



pause(5000);//Это время будет записывать



mciSendString("save recsound c:\111.wav", "", 0, 0);
mciSendString("close recsound", "", 0, 0)
7. Kibor - 14 Сентября, 2018 - 10:31:03 - перейти к сообщению
Этот код выведет уровень звука который воспринимает микрофон.
От 0 до 128

CODE:
external (INT, "mciSendString", "mciSendStringA", "Winmm.dll");

mciSendString("open new alias ScriptMicrophone type waveaudio wait", "", 0, 0);

char t[4];
loop()
{
mciSendString("status ScriptMicrophone level", address(#t[0]), 16, 3);
textout(0, 100, 50, format(#t[0])+"----------", 0);
}
8. faryatiev - 14 Сентября, 2018 - 15:11:11 - перейти к сообщению
Супер! Осталось уйти от микрофона к общему уровню звука. Улыбка
9. faryatiev - 15 Сентября, 2018 - 11:49:09 - перейти к сообщению
Вот что в итоге получилось:

CODE:
external (INT, "mciSendString", "mciSendStringA", "Winmm.dll");

mciSendString("open new type waveaudio alias waveLevel", "", 0, 0);

char t[4];
loop()
{
mciSendString("status waveLevel level", address(#t[0]), 16, 3);
textout(0, 100, 50, format(#t[0])+"----------", 0);

if (t[0]>50)
{
key ('x');
}

}

Скрипт работает. Спасибо за помощь!
10. Kibor - 15 Сентября, 2018 - 11:51:57 - перейти к сообщению
 faryatiev пишет:
Вот что в итоге получилось:

и?

неправильно это получилось.

CODE:
external (INT, "mciSendString", "mciSendStringA", "Winmm.dll");

mciSendString("open new type waveaudio alias waveLevel", "", 0, 0);

char t[4];
loop()
{
mciSendString("status waveLevel level", address(#t[0]), 16, 3);
textout(0, 100, 50, format(#t[0])+"----------", 0);

if (formatsn(format(#t[0]))>50)
{
key ('x');
}

}


что бы слушать звуковую карту над юзать mciSendCommand для переключения

Powered by ExBB FM 1.0 Final