Acceder

Ver la Versión Completa : [ SOLUCIONADO ] Una acción "Esperar" en ejecución de un perfil, bloquea ciertas acciones de otros perfiles


GraphicAdventure
16/02/14, 23:33:09
Crear una tarea con una espera de 10 segundos y otra distinta con Decir blabla (continuar tarea inmediatamente desactivado) seguida de AutoVoice Continuous Starting.
Ejecutar la tarea de espera y después la otra.

No sé si el problema es de Tasker, Autovoice o del TTS (Ivona).
Se soluciona poniendo una espera de x segundos después del TTS, pero puede que tarde menos o más dependiendo de lo que diga, con lo cual esta espera no es fiable.
No tengo activado continuar tarea inmediatamente para que cuando termine de hablar active el modo Continuous.
¿Este problema ya había sido abordado?

mlesir
16/02/14, 23:54:57
No se había abordado.
No entiendo muy bien si tu post es para preguntar o para publicar este problema.
Por otro lado el título del post esta mal no? Sobra el sin no?
A mi me ha pasado. Efectivamente si esta hablando no se activa y no creo que sea el TTS porque yo tengo otro.

GraphicAdventure
17/02/14, 00:02:18
No sobra, es para decir que tiene que estar desactivado, pero se puede cambiar para quedar más explícito, pero creo que yo no puedo.
Las dos cosas, si no hay solución es un bug, por eso me gustaría saber donde está el problema para poder informar el creador correspondiente.

Caravantes
17/02/14, 02:35:28
se puede cambiar para quedar más explícito, pero creo que yo no puedo.

Vuelve al primer post. Dale al botón de editar, te saldrá otra página para editar; dale al botón de Edición-avanzada, te saldrá otra página para editar... y ya puedes cambiar el título.

darkopro
17/02/14, 11:47:41
Si tienes un Samsung y tienes puesto el reconocimiento de voz vlingo el autovoice en modo continuo puede que no te funcione. Mira que en ajustes que el reconocimiento de voz tengas el de Google. A mi el autovoice me reconoce palabras del tts por ejemplo, eso sí, tengo el tts Samsung.

GraphicAdventure
27/02/14, 14:30:39
Gracias Caravantes,

Tardé pero lo cambié.
Entre trabajar, estudiar, el niño y el perro no tengo tiempo libre.

GraphicAdventure
05/03/14, 17:30:12
Parece que di con el problema haciendo varias pruebas pero creo que no es un bug sino que funciona de esta forma.

Tiene que ver con las prioridades de las tareas y para dificultar más las cosas, la variable TRUN no se actualiza con la acción "esperar hasta".

La forma que encontré para solventarlo es crear una tarea con prioridad 4 solo con la acción del TTS y para saber cuando terminó, una variable con valor 1 antes del TTS y 0 después.
Dentro del perfil ejecuto esa tarea y espero 500ms, la acción siguiente si esa variable está a 1 y vuelve a la acción esperar.

De esta forma puedo escuchar los mensajes de WhatsApp con el WhatsTasker por orden de llegada si recibo otro mientras el TTS está hablando.

darkopro
05/03/14, 20:00:08
A que te refieres que la variable TRUN no se actualiza con la acción «esperar hasta»?
Yo tengo varios esperar hasta TRUN... y me funcionan perfectamente

GraphicAdventure
05/03/14, 21:19:08
1. Realizar tarea wzrecibir2
2. Esperar 1s hasta %TRUN !~ wzrecibir2
3. Flash probando

La tarea wzrecibir2 está en ejecución pero aparece el flash.

darkopro
05/03/14, 21:30:32
Cuando hay tareas integradas, no funciona nada bien darle al play y ejecutarlas manualmente.
Yo tengo varias tareas que cuando se acaban se cierran los perfiles e incluso hasta hace poco que apagaba tasker y funcionan correctamente ;)
Prueba hacer dos perfiles que se conecten cuando screen ~ off por ejemplo y que realice la tarea «prueba» que consista en esperar 10 segundos. Y el otro perfil con una tarea que establezca una variable tiempoinicial a TIMES, que espere 1 segundo (para que no tener problemas) y que espere 20 hasta que TRUN !~ prueba. Luego establece tiempofinal a TIMES y establece la variable Tiempo a tiempofinal-tiempoinicial (calcular encendido)
Te debería guardar en la variable Tiempo el tiempo que tardado en ejecutarse TRUN y debería salirte tiempo determinado que debería mostrar que no se ejecuta inmediatamente, al menos a mi no hace. Es que hice pruebas similares a está para comprobar como funcionaba esperar hasta con TRUN ya que con algunas variables espera el tiempo pones para hacer comprobación variable y con otras no realiza comprobación en tiempo sino cuando estás cambian.

GraphicAdventure
05/03/14, 21:42:30
Ahora que lo dices ya me acuerdo que ejecutar una tarea manualmente no funciona de la misma forma que automáticamente, porque las prioridades son distintas.
De todas formas, ayer estuve probando enviar mensajes WhatsApp de otro móvil al mio, el perfil se ejecutó automáticamente sin hacerlo manualmente y tampoco funcionó, así que pensé que era un problema general.
Ni idea por qué no me funciona.

GraphicAdventure
05/03/14, 23:17:20
Con tu prueba en realidad no tarda, es instantáneo.

Ya sé que pasa, con la tarea en prioridad 4 la variable TRUN no funciona, así que tengo que usar el método que indiqué.
Si quieres comprobar creas la tarea prueba y pones la acción esperar 10s, creas un perfil contexto hora para el minuto siguiente con ejecutar tarea prueba con prioridad 4, esperar hasta %TRUN !~ prueba, flash probando.

mlesir
05/03/14, 23:45:20
La verdad es que a estas alturas todavía no dejas muy claro que es lo que quieres hacer. Solo lo puedo suponer... Por eso lo que digo ahora es una gilipollez.
La tarea esperar hasta tiene un bug, no funciona como debiera así que yo no la usaría. Si la usas yo por lo menos no puedo ayudarte pq no tengo una idea clara de en qué consiste y para que funciona o para que no. Hay un post al respecto.
Sigo diciendo que salvo algunos casos como el de darkpro lo más seguro es un móvil no pueda escuchar y decir a la vez.

Si una tarea dentro de la tarea madre ( o sea una subtarea) tiene la prioridad más alta que la la madre, o sea la tarea dentro de la que esta, hasta que no se acaba la hija, la tarea madre no sigue se queda "parada". La hija podría ser leer.
Y como ahora no me acuerdo como funciona WhatsTasker exactamente si el problema es que mientras lee te llegan más WhatsApp y los sobrescribe me lo dices. Usando arrays y otro perfil es fácil.

mlesir
06/03/14, 00:13:13
Bueno pues como ya me he picado...
Vale el problema es que si esta leyendo y te llegan dos WhatsApp como las variables de WhatsTasker solo están disponibles en la tarea de entrada perderías mensajes. Yo haría esto.
Dos perfiles:
1 Contexto de WhatsTasker que lo que hace es ir metiendo los mensajes en un array. Solo hace eso. Esta tarea tiene la misma prioridad que la tarea de decir. Así si no me equivoco a la vez que lee va componiendo el array.
2 Perfil valor de variable si el array no está vacío (o sea hay mensajes por leer hace lo que hacía el contexto de WhatsApp nuevo, o sea básicamente lanzar AV y luego subtarea leer). A este contexto le metes otro de tarea ejecutándose "decir" marcando invertido. De esta manera no se ejecuta hasta que termina de leer.

GraphicAdventure
06/03/14, 01:00:56
Me quedé con la sensación que el tema y la información que di resultaron algo confusos. Perdón.
Después de varias pruebas y confirmar que es un bug, abri un tema en google groups y Pent ya lo ha solucionado en la última beta.
Dejo el enlace por si quieren más información:

https://groups.google.com/forum/#!topic/tasker/OmvCpneJhb8

Cambio el título del tema y lo pongo como solucionado.