> В этом разделе только каталог программ!

Внимание! Все вопросы по программам, отсутствующим в этом разделе, задавайте в теме Скорая помощь новичкам.

В ЭТОМ РАЗДЕЛЕ ТОЛЬКО КАТАЛОГ ПРОГРАММ! СОЗДАНИЕ ТЕМ С ВОПРОСАМИ ЗАПРЕЩЕНО! ПОИСК ПРОГРАММ.
Новые темы необходимо создавать только в корневом разделе! В дальнейшем они будут обработаны модераторами.



TalkButton | Кнопка проводн.гарнитуры <> голос.набор



Реп: (29)
TalkButton

Уважаемые модераторы, просьба не банить и не бросать в меня тухлыми помидорами за дублирование темы, т.к. оригинальный тред (http://4pda.to/forum /index.php?showtopic =19059) похоже явно находится не там где ему положено быть. Причина - наличие в данной части форума грамотных программистов, которые возможно смогут решить данный вопрос.

Преамбула:

Меня, и думаю многих других, кто перешел с Нокий на коммуникаторы WM не устраивает функция работы кнопки проводной гарнитуры. Я люблю слушать музыку, и то, что я не имею возможности переключать кнопкой треки не вытаскивая девайс из кармана для меня абсолютный нонсенс!!! Я не говорю уже о возможности вызова голосового набора.

Описание проблемы:

Решение как оказалось имеется!!! На сайте ХДА-девелоперс (_ttp://forum.xda -developers.com /viewtopic.php?t=49087 &start=0&postdays=0 &postorder=asc&highlight =basic+voice) товарищ unaiur разместил маленькую софтинку talkbutton (внизу поста) которая реально определяет нажатие клавиши и запускает MS Voice Command, работает даже при включеной блокировке, что особенно хорошо, когда девайс в кармане. Но для русскоязычного населения, как известно, Войс Комманд - как собаке пятая нога. У многих, в том числе и у меня, на коммуникаторе стоит софт от Cyberon, кот. адекватно работает с голосовыми метками. Соответственно нужна тулза, набодобие talkbutton, которая сможет запускать сайберон, или лучще всего, чтобы можно было настроить, что именно ей запускать при нажатии кнопки.

Возможное решение: Как я вижу.

Я к сожалению не программист (хотя всегда хотел им быть - но не суждено, я лингвист :) )

1) Модифицировать уже существующую софтинку. Но к сожалению у нас нет исходников, а на просьбы ответить автор не отзывается. Расковырять уже имеющуюся я так полагаю нельзя.

2) Написать заново (с добавлением или без добавления каких либо новых фич :rolleyes: )

Вот что пишет по этому поводу автор talkbutton.
Оригинал здесь: _ttp://forum.xda -developers.com /viewtopic.php?p=268290 &highlight=#268290

The talk button on the wired headset is a "fake" button. It generates an special pattern in the recorded audio that it's recognized by the phone application.
Detecting the button pressing is pretty simple: recording at 16 bits, the average of the absolute value of the samples in complete silence is at least 100, with the talk button pressed, 6 or 7.

Попробую перевести, хотя не совсем понимаю о чем он говорит.

Кнопка разговора - "фальшивая кнопка". При нажатии на нее, генерируется специальная последовательность?(узор -паттерн) в записываемом аудиопотоке, которая (последовательность) опознается приложением телефона. Определить нажатие легко. Записываем на семплрейте 16 бит. Среднее значение абсолютной величины должно быть 100 / 6-7 (тут не совсем понятно о чем идет речь, либо о количестве семплов при полной тишине (100) и при нажатой кнопке (6-7), либо про уровень сигнала.

Уф! Спасибо что хватило терпения дочитать данный опус. Уважаемые программисты, миллионы надеятся на вашу помощь!!!

Прикрепленные файлы

Прикрепленный файлtalkbutton.exe ( 9.5 КБ )



Реп: (29)
PS: Вот еще. Возможно поможет при разработке.

It's a Windows Mobile 2003 application because it's developed with Microsoft Embeed Visual C++ 4, and I can't find a way to install the Windows Mobile 2005 SDK (it needs Visual Studio 2005; a bunch of pounds).

But it actually needs Windows Mobile 5 to run properly, since it uses state notifications to know when the headset is plugged/unplugged and if the voice recognizer is running. Last is very important; otherwise the recording is distorted and doesn't recognize anything.

Otherwise, it should be pretty easy to adapt to any hardware. I just need to know where the headset state is stored in the registry. In Wizard, it's in [HKLM\System\State\Hardware], in the value "Headset".

Это приложение Виндовс Мобайл 2003, т.к. создано с помощью EVC++, но я никак не могу найти способ установить Виндовс Мобайл SDK (требуется VS 2005, тонну всякой всячины)
Но вообще то на самом деле приложению требуется WM5 для правильной работы, т.к. она (софтинка) использует оповещения состояния чтобы определить подключена или не подключена гарнитура, а также запущено ли приложение голосового набора. Последнее очень важно, т.к. в противном случае запись искажается и приложение набора не будет способно различить голосовую команду.

Кстати состояние гарнитуры находится в данном ключе:
HKLM\System\State\Hardware], в значении "Headset".

Список изменений в версиях:

CHANGES IN VERSION 0.2
----------------------

- Prevent the audio subsystem to be suspendend by the power manager. (запретить менеджеру энергии отключать аудиоподсистему)
- Suspend the button state polling when the headset is unplugged. (остановить опрос состояния нажатия кнопки, когда гарнитура отключена)
- Suspend the button state polling when Microsoft Voice Command is listening. (остановить опрос состояния нажатия кнопки когда программа голосового набора слушает микрофон)


New release 0.3:
- Prevents the system from suspending (запрещает системе засыпать?)
- Powers on the system before launching the voice recognition program (включает машинку перед тем как запустить программу распознавания)

To save energy, I recommend to enable the UserIdle power state (which turns off the screen and several other periphicals), changing in the registry key [\HKLM\System\CurrentControlSet\Control\Power\Timeouts] the value of "BattUserIdle" to "120" (seconds).

Сообщение отредактировал Nom@d - 16.09.06, 18:55



Реп: (671)
1) Модифицировать уже существующую софтинку. Но к сожалению у нас нет исходников, а на просьбы ответить автор не отзывается. Расковырять уже имеющуюся я так полагаю нельзя.

Почему нельзя?В IDA и конец.



Реп: (61)
Nom@d,

Недавно узнал что на платформе Universal кнопка гаринтуры делает вызов, с самого рождения. без всякого стороннего софта!

Может это еще как-то продвинет нас в наших поисках?



Реп: (29)
pmi,16.09.06 06:53:34
Nom@d,

Недавно узнал что на платформе Universal кнопка гаринтуры делает вызов, с самого рождения. без всякого стороннего софта!

Может это еще как-то продвинет нас в наших поисках?

Я честно говоря вообще был удивлен, когда купил свой К-Джем, что кнопка гарнитуры не мапится (до этого был Ровер M1 - там кнопка мапилась нормально)

По поводу Универсала, возможно там другие процедуры опроса кнопки, может доработанный драйвер, не знаю...

Я предлагаю сделать эту тему максимально информативной и перестать высказывать свои догадки :search: Лучше подождать что скажут программисты ;)



Реп: (373)
Nom@d,
Были бы исзодники... Немного лень разбираться в том, как именно реагировать на эту кнопку.



Реп: (671)
Выложите нормальную ссылку тут - хочу покопаться :)



Реп: (29)
GreateVK, привет. Ты про какие ссылки? на файл? на первоисточники? они все в первом посте.



Реп: (671)
Ох не заметил...
"Loading file into database"
Покопаюсь и завтра скажу суть проги :)

Посмотрел уже :)
Есть варианты:
1)Подправить прогу
2)Написать собственную полностью
3)Новую прогу с частью кода отсуда

Недавно узнал что на платформе Universal кнопка гаринтуры делает вызов, с самого рождения. без всякого стороннего софта!

А ты не мог выдрать файл и выложить его здесь?
(На моем 4700 файлы, добавленные HP,копируются без проблем (iTask,...))

Сообщение отредактировал GreateVK - 18.09.06, 15:10



Реп: (29)
GreateVK,17.09.06 12:04:08
Ох не заметил...
"Loading file into database"
Покопаюсь и завтра скажу суть проги :)

Посмотрел уже :)
Есть варианты:
1)Подправить прогу
2)Написать собственную полностью
3)Новую прогу с частью кода отсуда

GreateVK, дорогой друг, миллинонам собратьев по несчастью всё равно какой из вариантов получится в результате, главное чтобы это работало! :yahoo:



Реп: (671)
Я тут еще покопал и нашел :)
ключ Software\UUResearchs\TalkButton
добавьте ключ "VoiceCommand" REG_SZ с путем к программе(например \Windows\SDDialer.exe)
У меня нет такой кнопки; я не могу проверить это :(
Попробуйте!



Реп: (29)
GreateVK,
Никакими твиками реестра тут не поможешь, проверено до меня тыщщу раз. ТАк что единственный возможный вариант - talkbutton.exe ;)



Реп: (0)
Nom@d,
Так вы на проводной гарнитуре оное хотите перехватить? Я думал на безпроводной!

И так у меня есть ну оооочень глючная прога, но в ней можно попробовать отследить данную весчь.... И ещё такой вопрос, а при перемапливании вот этой самой кнопы на гарнитуре стандартная зелёная не перемапливается?

Ps кому нужна прога - смотрите в аттаче, но за рабочесть на 100% не отвечаю.

Прикрепленные файлы

Прикрепленный файлKeybHook.exe ( 3.5 КБ )



Реп: (671)
Никакими твиками реестра тут не поможешь, проверено до меня тыщщу раз. ТАк что единственный возможный вариант - talkbutton.exe

Интересно как это проверено... :D
А я говорю про talkbutton прогу; она считывает имя программы из этого парама (?)



Реп: (0)
GreateVK,
неа....

Ты хоть мою мессагу видел? Проверил?



Реп: (47)
GreateVK, всё работает, извини что не могу поднять статус.



Реп: (671)
Что именно работает? Ключ? (Я этого не понял...) :D



Реп: (100)
А на WM2003 SmartPhone оно будет работать?



Реп: (47)
GreateVK,
с тем ключиком реестра, который ты написал (его кстати пришлось полностью с нуля создать), перестало выскакивать ошибка " не найдена программа голосового набора " и стал запускаться сам набор. Вот что имелось ввиду под словом "работает"



Реп: (29)
Silver_Ghost, неужели заработало?!!! Напиши пож-ста полностью путь к ключу, ну типа HKLM/бла бла бла



Реп: (47)
Nom@d, я создавал 2 ключа (почему-то у меня срабатывает только в этом варианте, а по отдельности не хочет) один HKLM/SOFTWARE/UUresearchs/Talkbutton/ и в нём создал строковый параметр с путём \Windows\SDDialer.exe, и второй HKCU/Software/UUResearchs/TalkButton/ и в нём точно такой же строковый параметр. после этого перезагружаешься и запускаешь talkbutton.exe. Всё должно работать


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 29.03.24, 11:16