NEWS
Драйвер sayit
-
не могу добиться вывода звука через андроид планшет, на нем же и брокер пашет, все проговаривается на ноуте, по идее же должно болтать на всех устройствах где виз открыт, хотя обычная веб болталка
! function speak_txt( data ){
! var speech = new SpeechSynthesisUtterance();
! speech.lang = 'ru-RU';
! speech.rate = 1.5;
! speech.pitch = 2;
! speech.volume = 1;
! speech.txt = "тест голоса"; //document.getElementById( "q" ).value
! window.speechSynthesis.speak( speech );
! }
пашет исключительно под андроидом а на ноуте молчит -
не могу добиться вывода звука через андроид планшет, на нем же и брокер пашет, все проговаривается на ноуте, по идее же должно болтать на всех устройствах где виз открыт, хотя обычная веб болталка `
Аналогично, браузер хром для андройд, html5 работает, тестовое видео крутится со звуком.Уже не знаю куда копать, пока пользую системный вывод.
-
не могу добиться вывода звука через андроид планшет, на нем же и брокер пашет, все проговаривается на ноуте, по идее же должно болтать на всех устройствах где виз открыт, хотя обычная веб болталка `
Аналогично, браузер хром для андройд, html5 работает, тестовое видео крутится со звуком.Уже не знаю куда копать, пока пользую системный вывод. `
Звук выводят только Dolphin, UC Browser, а команды принимает Chrome. -
пытаюсь заставить хром говорить:
в визе добавил виджет
[{"tpl":"tplValueString","data":{"oid":"sayit.0.tts.text","visibility-cond":"==","visibility-val":"true","visibility-oid":""},"style":{"left":"313px","top":"309px","width":"338px","height":"15px"},"widgetSet":"basic"}]в staticHtml хочу прописать скрипт который будет отслеживать изменения текста в виджете и отправлять его в функцию воспроизведения
function speak_txt( data ){ var speech = new SpeechSynthesisUtterance(); speech.lang = 'ru-RU'; speech.rate = 1.5; speech.pitch = 2; speech.volume = 1; speech.txt = "тест голоса"; //document.getElementById( "q" ).value window.speechSynthesis.speak( speech );по каким параметрам искать div виджета в визе когда страница загружена?
-
div нашел
почему не правильно в визе отображает :
вставить в staticHTML
! ````
!
!
!
<label for="voice">Voice</label><label for="volume">Volume</label> <label for="rate">Rate</label> <label for="pitch">Pitch</label>!
!
! ````
редакторе работает,а на страничке размер ужимает и не добавляются голоса в списокПС почемуто не экспортирует виджет у меня
-
Как можно сделать чтобы при воспроизведении своего mp3 фала не проигровался диндон?
-
Как можно сделать чтобы при воспроизведении своего mp3 фала не проигровался диндон? `
В настройке драйвера вместо "gong" выбрать "none". -
Как можно сделать чтобы при воспроизведении своего mp3 фала не проигровался диндон?
В настройке драйвера вместо "gong" выбрать "none".
Эта настройка глобальная. Я сделал воспроизведение mp3 фала при звонке в домофон, вот чтобы при воспроизведении mp3 не воспроизводился диндон -
Как можно сделать чтобы при воспроизведении своего mp3 фала не проигровался диндон?
В настройке драйвера вместо "gong" выбрать "none".
Эта настройка глобальная. Я сделал воспроизведение mp3 фала при звонке в домофон, вот чтобы при воспроизведении mp3 не воспроизводился диндон `
Может я неконкретно выразился, установи ещё один драйвер sayit1, sayit2….. и настрой как тебе нужно для использования только с домофоном. -
Вопрос, как в скрипте прописать var idSayIt = что бы говорили оба драйвера. Сейчас тупо прописал два раза
//var idSayIt = "sayit.0.tts.text"; createState('Voice.Command', ''); /////////////Голосовое управление///////////////////////////// on('javascript.0.Voice.Command', function (obj) { //var voice = obj.newState.val.toLowerCase(); var voice = obj.newState.val.toLowerCase().toString().replace(/\ /g, "+"); if (voice == 'включить+насос' || voice == 'включи+насос' || voice == 'вруби+насос'){ setState('javascript.0.heat_pump', 'true'); //var idSayIt = "sayit.0.tts.text"; setState ('sayit.0.tts.text', 'Внимание! Включаю насос'); setState ('sayit.1.tts.text', 'Внимание! Включаю насос'); } else if (voice == 'выключить+насос' || voice == 'выключи+насос' || voice == 'отключи+насос' || voice == 'отруби+насос'){ setState('javascript.0.heat_pump', 'false'); //setState (idSayIt, 'Внимание! Выключаю насос'); setState ('sayit.0.tts.text', 'Внимание! Выключаю насос'); setState ('sayit.1.tts.text', 'Внимание! Выключаю насос'); } }); -
Вопрос, как в скрипте прописать var idSayIt = что бы говорили оба драйвера. Сейчас тупо прописал два раза
//var idSayIt = "sayit.0.tts.text"; createState('Voice.Command', ''); /////////////Голосовое управление///////////////////////////// on('javascript.0.Voice.Command', function (obj) { //var voice = obj.newState.val.toLowerCase(); var voice = obj.newState.val.toLowerCase().toString().replace(/\ /g, "+"); if (voice == 'включить+насос' || voice == 'включи+насос' || voice == 'вруби+насос'){ setState('javascript.0.heat_pump', 'true'); //var idSayIt = "sayit.0.tts.text"; setState ('sayit.0.tts.text', 'Внимание! Включаю насос'); setState ('sayit.1.tts.text', 'Внимание! Включаю насос'); } else if (voice == 'выключить+насос' || voice == 'выключи+насос' || voice == 'отключи+насос' || voice == 'отруби+насос'){ setState('javascript.0.heat_pump', 'false'); //setState (idSayIt, 'Внимание! Выключаю насос'); setState ('sayit.0.tts.text', 'Внимание! Выключаю насос'); setState ('sayit.1.tts.text', 'Внимание! Выключаю насос'); } }); ```` `Засунь в функцию
-
Вопрос, как в скрипте прописать var idSayIt = что бы говорили оба драйвера. Сейчас тупо прописал два раза
//var idSayIt = "sayit.0.tts.text"; createState('Voice.Command', ''); /////////////Голосовое управление///////////////////////////// on('javascript.0.Voice.Command', function (obj) { //var voice = obj.newState.val.toLowerCase(); var voice = obj.newState.val.toLowerCase().toString().replace(/\ /g, "+"); if (voice == 'включить+насос' || voice == 'включи+насос' || voice == 'вруби+насос'){ setState('javascript.0.heat_pump', 'true'); //var idSayIt = "sayit.0.tts.text"; setState ('sayit.0.tts.text', 'Внимание! Включаю насос'); setState ('sayit.1.tts.text', 'Внимание! Включаю насос'); } else if (voice == 'выключить+насос' || voice == 'выключи+насос' || voice == 'отключи+насос' || voice == 'отруби+насос'){ setState('javascript.0.heat_pump', 'false'); //setState (idSayIt, 'Внимание! Выключаю насос'); setState ('sayit.0.tts.text', 'Внимание! Выключаю насос'); setState ('sayit.1.tts.text', 'Внимание! Выключаю насос'); } }); ```` `Засунь в функцию `
Если тебя не затруднит примерчик любой. :roll: -
Вопрос, как в скрипте прописать var idSayIt = что бы говорили оба драйвера. Сейчас тупо прописал два раза
Засунь в функцию
Если тебя не затруднит примерчик любой. :roll: `
Примерно так//var idSayIt = "sayit.0.tts.text"; createState('Voice.Command', ''); /////////////Голосовое управление///////////////////////////// on('javascript.0.Voice.Command', function (obj) { //var voice = obj.newState.val.toLowerCase(); var voice = obj.newState.val.toLowerCase().toString().replace(/\ /g, "+"); if (voice == 'включить+насос' || voice == 'включи+насос' || voice == 'вруби+насос'){ setState('javascript.0.heat_pump', 'true'); //var idSayIt = "sayit.0.tts.text"; idSayIt('Внимание! Выключаю насос'); } else if (voice == 'выключить+насос' || voice == 'выключи+насос' || voice == 'отключи+насос' || voice == 'отруби+насос'){ setState('javascript.0.heat_pump', 'false'); //setState (idSayIt, 'Внимание! Выключаю насос'); idSayIt('Внимание! Выключаю насос'); } }); function idSayIt(command){ setState ('sayit.0.tts.text', command); setState ('sayit.1.tts.text', command); } -
Засунь в функцию
Если тебя не затруднит примерчик любой. :roll:
Примерно так//var idSayIt = "sayit.0.tts.text"; createState('Voice.Command', ''); /////////////Голосовое управление///////////////////////////// on('javascript.0.Voice.Command', function (obj) { //var voice = obj.newState.val.toLowerCase(); var voice = obj.newState.val.toLowerCase().toString().replace(/\ /g, "+"); if (voice == 'включить+насос' || voice == 'включи+насос' || voice == 'вруби+насос'){ setState('javascript.0.heat_pump', 'true'); //var idSayIt = "sayit.0.tts.text"; idSayIt('Внимание! Выключаю насос'); } else if (voice == 'выключить+насос' || voice == 'выключи+насос' || voice == 'отключи+насос' || voice == 'отруби+насос'){ setState('javascript.0.heat_pump', 'false'); //setState (idSayIt, 'Внимание! Выключаю насос'); idSayIt('Внимание! Выключаю насос'); } }); function idSayIt(command){ setState ('sayit.0.tts.text', command); setState ('sayit.1.tts.text', command); } ```` `Спасибо работает, отвечал сразу куда то сообщение пропало.
-
Без инета из Кэш говорит?
Файлов куча (большая), а без сети затык.
Так и должно быть? `
Ну из сети я так понимаю получает хеш и если с таким хешем есть файл то играет из файла. могу ошибкаться -
Вообщем при отсутствии сети молчит
` > sayit-0 2016-02-23 16:04:37 error Cannot get file:Error: getaddrinfo ENOTFOUNDsayit-0 2016-02-23 16:04:17 info saying: Arduino1. Связь восстановлена!
sayit-0 2016-02-23 16:04:16 info saying: /opt/iobroker/node_modules/iobroker.sayit/gong.mp3
javascript-0 2016-02-23 16:04:16 info script.js.Ping2: Arduino1. Связь восстановлена! `
При восстановлении ineta продолжает молчать, помогает только перезагрузка драйвера.
У меня так :( . Пользую ya.ru
-
Вообщем при отсутствии сети молчит
` > sayit-0 2016-02-23 16:04:37 error Cannot get file:Error: getaddrinfo ENOTFOUNDsayit-0 2016-02-23 16:04:17 info saying: Arduino1. Связь восстановлена!
sayit-0 2016-02-23 16:04:16 info saying: /opt/iobroker/node_modules/iobroker.sayit/gong.mp3
javascript-0 2016-02-23 16:04:16 info script.js.Ping2: Arduino1. Связь восстановлена! `
При восстановлении ineta продолжает молчать, помогает только перезагрузка драйвера.
У меня так :( . Пользую ya.ru `
В драйвере sayit постав длительность извещения 5-10секТы скрипт брал от сюда http://forum.iobroker.net/viewtopic.php … 1133#p9359 там описано как имитировать отключение инета чтобы записать в кэш.
-
Выставил извещение 8 сек, результат тотже. ( в Кэш сообщения присутствуют)
Смущает статистика яндекса
` > Голосовые ед. смысл Голосовые ед. синт. Голосовые ед. расп.23 0 172 0
22 0 50 0
21 0 25 0
20 0 69 0
19 0 33 0
18 0 22 0
17 0 30 0
16 0 68 0 `
Ладно сегодня издевался но по 30 запросов ежедневно :( . Наверное без сети никак :o
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden