Tasker Para hablar de todo lo relacionado con la aplicación tasker

Respuesta
 
Herramientas
  #1  
Viejo 26/06/18, 19:00:46
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
interrogacion Ejercicios de verano (volumen multimedia al 50%)

Esta vez traigo una cuestión muy sencilla.
¿Cómo puedo ajustar el volumen del canal multimedia al 50%?
La pregunta está motivada porque el Taskero se ha dado cuenta de que cada móvil tiene un valor máximo diferente (depende de la rom, el fabricante y/o lo manitas que sea el usuario) y quiere hacer una tarea auto-adaptable a varios dispositivos.

No tiene root y prefiere usar solamente acciones de Tasker. También le valen comandos de consola siempre que funcionen en su dispositivo (recuerda que sin root).

Lo que digo, una cuestión sencilla ...
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita


  #2  
Viejo 26/06/18, 21:14:29
Array

[xs_avatar]
Caravantes Caravantes no está en línea
Usuario muy activo
· Votos compra/venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Tu operador: Lowi
 Cita: Originalmente Escrito por WillyWeb Ver Mensaje
La pregunta está motivada porque el Taskero se ha dado cuenta de que cada móvil tiene un valor máximo diferente (depende de la rom, el fabricante y/o lo manitas que sea el usuario) y quiere hacer una tarea auto-adaptable a varios dispositivos.
O sea que la parte difícil del problema es: ¿Cómo hacer una tarea Tasker que averigüe (en cada dispositivo) cuál es el nivel máximo del volumen multimedia?
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 26/06/18, 21:36:26
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
 Cita: Originalmente Escrito por Caravantes Ver Mensaje
O sea que la parte difícil del problema es: ¿Cómo hacer una tarea Tasker que averigüe (en cada dispositivo) cuál es el nivel máximo del volumen multimedia?
... exacto.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita
  #4  
Viejo 27/06/18, 10:59:46
Array

[xs_avatar]
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar

Estoy confundido. A qué te refieres exactamente WillyWeb? Al nivel de DBs o a los niveles configurados para cada dispositivo (12,15...)?


Pero si a lo que te refieres es a averiguar los "volume steps" (niveles de volúme), de x canal, con dos simples acciones Java es posible:
Código:
A1: Java Function [ Return: (AudioManager) temp Class Or Object:CONTEXT Function:getSystemService
 {Object} (String) Param:audio Param: Param: Param: Param: Param: Param:]
A2: Java Function [ Return:%temp Class Or Object:temp Function:getStreamMaxVolume
 {int} (int) Param:# Param: Param: Param: Param: Param: Param: ]
Nota: ajusta '#' de la A2 con el número (entero) asociado al canal que quieras consultar.


No lo he probado sin root, ya que yo tengo root permanentemente, pero si lo requiriese (reitero que no estoy seguro, pero creo que no ya que solo consulta), concédele el permiso 'WRITE_SECURE_SETTINGS' por ADB a Tasker, y será capaz de ejecutar dichas acciones sin root.

Última edición por SmartPhoneLover Día 27/06/18 a las 11:17:23.
Responder Con Cita
  #5  
Viejo 27/06/18, 11:12:37
Array

[xs_avatar]
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar

Luego, simplemente saca la media de lo que te arroje '%temp', redondeando al valor que creas más oportuno, y usa ese valor como volúmen al 50%.
Responder Con Cita
  #6  
Viejo 27/06/18, 13:25:51
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
Me refería al nivel que se pone en la acción correspondiente. La escala puede variar mucho de un dispositivo a otro (0-7, 0-15, 1-30, etc.) y esa es la dificultad real de este caso.

Muy interesante el tema de usar Java ...

Te agradecería más detalles de cómo se escriben esas acciones y del sitio en el que se pueden consultar esos números de canal que comentas. Y si esto requiere root tenemos un problema insalvable. El usuario no lo tiene ni lo puede/quiere poner.

Mi solución es menos "sofisticada" pero totalmente funcional (al menos en mi dispositivo) ...

-Guardas el volumen actual del canal multimedia %volm=%VOLM
-Con la acción correspondiente pones un volumen disparatadamente alto (100)
-Guardas el volumen del canal %MaxVolM=%VOLM
-Con la acción correspondiente restauras el volumen inicial (%volm)

Tras esas cuatro acciones tienes en %MaxVolM el nivel máximo que se puede asignar al canal multimedia. Luego es cuestión de aplicar el porcentaje que se quiera y listo. El mismo procedimiento es aplicable a cualquier otro canal.

¿Alguien que tenga una solución basada en comandos de consola?
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita
Gracias de parte de:
  #7  
Viejo 27/06/18, 18:21:19
Array

[xs_avatar]
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar

Ok, pues si que iva bien encaminado entonces

Para crear las acciones hay que hacer uso de la acción '+ > Code > Java Function'.
Aquí debemos establecer como primera medida una referencia al servicio de audio de Android (AudioManager -> getSystemService). Por lo que:

Java Function [ Return: (AudioManager) temp Class Or Object:CONTEXT Function:getSystemService
{Object} (String) Param:audio Param: Param: Param: Param: Param: Param:]


Acto seguido, teniendo el objeto exportado en la variable 'temp', ya podemos hacer uso de él con sus correspondientes métodos. Pues, en éste caso usamos el método 'getStreamMaxVolume', que sirve para devolver el índice máximo de un canal dado, en un número siempre entero (int).
Y para finalizar, tendremos que indicar el canal, completando el primero de los argumentos 'Param', con el signo '#', sustituyéndolo por un número entero que haga referencia al deseado.

Java Function [ Return:%temp Class Or Object:temp Function:getStreamMaxVolume
{int} (int) Param:# Param: Param: Param: Param: Param: Param: ]


Nota: hasta ahora no he dado con la forma de averiguar, o listar el identificador de todos y cada de uno de los canales disponibles en nuestro dispositivo. Por lo tanto, por ahora, la única forma que se me ocurre de "solucionar" esto, es ir probando hasta que veamos que el valor exportado coincide con los niveles que tengamos. Si alguien encuentra la manera, sería genial!!! ;)

----------------

Por otro lado, tu forma de hacerlo, ya había pensado exactamente en lo que has propuesto WillyWeb.

Y con respecto a usar shell, habrá que investigar...

Última edición por SmartPhoneLover Día 27/06/18 a las 18:25:49.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario:
  #8  
Viejo 27/06/18, 18:28:17
Array

[xs_avatar]
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar

̶M̶m̶m̶m̶,̶ ̶q̶u̶i̶z̶á̶s̶ ̶p̶o̶d̶r̶i̶a̶m̶o̶s̶ ̶u̶s̶a̶r̶ ̶'̶g̶e̶t̶D̶e̶v̶i̶c̶e̶s̶'̶p̶a̶r̶a̶ ̶o̶b̶t̶e̶n̶e̶r̶ ̶l̶o̶s̶ ̶I̶D̶s̶.̶ ̶

Creo que he encontrado un directorio que podría hacer referencia a los canales de audio en Android, o al menos eso imagino: '/proc/asound'.
El acceso a éste directorio esta restringido a usuaris ROOT, pero bueno; como punto de estudio estaría bien profundizar en el caso.

Nota: en caso de dicho directorio aloje información correspondiente a la petición de WillyWeb, con usar el comando 'cat' y luego hacer una búsqueda en las variables, se podrían obtener los datos que buscamos.

Última edición por SmartPhoneLover Día 27/06/18 a las 18:49:37.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario:
  #9  
Viejo 28/06/18, 18:42:02
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
 Cita: Originalmente Escrito por SmartPhoneLover Ver Mensaje
Nota: hasta ahora no he dado con la forma de averiguar, o listar el identificador de todos y cada de uno de los canales disponibles en nuestro dispositivo. Por lo tanto, por ahora, la única forma que se me ocurre de "solucionar" esto, es ir probando hasta que veamos que el valor exportado coincide con los niveles que tengamos. Si alguien encuentra la manera, sería genial!!! ;)
La correspondencia canal<->número tenía que estar en la documentación del SDK de Android, y está en ...

https://developer.android.com/refere...ioManager.html

En las funciones que sacan el volumen máximo/mínimo/actual se hace referencia al parámetro "streamType" para determinar el canal. Ese parámetro es una constante numérica predefinida y buscando un poco mas he dado con la lista de constantes ...

STREAM_VOICE_CALL = 0
STREAM_SYSTEM = 1
STREAM_RING = 2
STREAM_MUSIC = 3
STREAM_ALARM = 4
STREAM_NOTIFICATION = 5
STREAM_DTMF = 8
STREAM_ACCESSIBILITY = 10

Aunque sólo están esos 8 canales los 11 números de canal (de 0 a 10) dan valores coherentes. Curiosamente Tasker no los soporta todos (como el de accesibilidad) y soporta alguno no documentado (como el de la voz BT durante las llamadas = 6).
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita
Los siguientes 2 usuarios han agradecido a WillyWeb su comentario:
  #10  
Viejo 28/06/18, 18:55:58
Array

[xs_avatar]
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar

 Cita: Originalmente Escrito por WillyWeb Ver Mensaje
La correspondencia canal<->número tenía que estar en la documentación del SDK de Android, y está en ...
O muchas gracias WillyWeb!!!!
Intentaré profundizar en el tema ;)
Responder Con Cita
  #11  
Viejo 29/06/18, 22:31:57
Array

[xs_avatar]
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Tu operador: Movistar
Este tipo de ideas pequeñas están bien.
No requieren mucho trabajo, hay diferentes aportaciones y tienen una utilidad práctica.
Vi que tienes otros temas así, puedes seguir.

Si quieres WillyWeb, puedes extender la idea y plantear:
- Volumen nocturno si estamos en casa, con o sin auriculares
- Volumen (diurno=nocturno) fuera de casa con o sin auriculares.

4 situaciones, 2 perfiles (volumen y volumen auriculares).
No es complicado pero hay que pensar en posibles colisiones de situación.
Responder Con Cita
  #12  
Viejo 30/06/18, 10:13:22
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
 Cita: Originalmente Escrito por GraphicAdventure Ver Mensaje
Vi que tienes otros temas así, puedes seguir.
Gracias hombre. Ahora me siento mucho más respaldado.

 Cita: Originalmente Escrito por GraphicAdventure Ver Mensaje
Si quieres WillyWeb, puedes extender la idea y plantear...
No se trata de mis ideas. Son consultas que he visto en otros foros y que han parecido "curiosas". Si alguna de estos mini-temas le sirve al alguien de germen de un proyecto mayor pues que abra tema y lo discutimos ... quedas invitado.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita
  #13  
Viejo 30/06/18, 20:26:16
Array

[xs_avatar]
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Tu operador: Movistar
 Cita: Originalmente Escrito por WillyWeb Ver Mensaje
quedas invitado.

Un proyecto mayor no sé, solo pensé que así con cosas simples puede que participe más gente.
Cosas cotidianas o que un día nos salven de un apuro tenerlo automatizado.
Aunque sea solo comentar ideas y después pasarlas a Tasker.
p. ej., se me ocurrió ahora tener la linterna haciendo señal SOS.
Responder Con Cita
  #14  
Viejo 30/06/18, 20:40:54
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
 Cita: Originalmente Escrito por GraphicAdventure Ver Mensaje
Cosas cotidianas o que un día nos salven de un apuro tenerlo automatizado.
¿Dices crear algo como el repositorio?

 Cita: Originalmente Escrito por GraphicAdventure Ver Mensaje
se me ocurrió ahora tener la linterna haciendo señal SOS.
Interesante. Abre tema.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita
  #15  
Viejo 02/07/18, 16:13:49
Array

[xs_avatar]
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Tu operador: Movistar
 Cita: Originalmente Escrito por WillyWeb Ver Mensaje
¿Dices crear algo como el repositorio?
Algunas de esas son más elaboradas pero sí.
Responder Con Cita
Gracias de parte de:
  #16  
Viejo 11/07/18, 16:29:29
Array

[xs_avatar]
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Tu operador: Movistar
 Cita: Originalmente Escrito por GraphicAdventure Ver Mensaje
Si quieres WillyWeb, puedes extender la idea y plantear:
- Volumen nocturno si estamos en casa, con o sin auriculares
- Volumen (diurno=nocturno) fuera de casa con o sin auriculares.
Willy, termínalo.
Solo encontré una forma de hacerlo.
Responder Con Cita
  #17  
Viejo 11/07/18, 20:14:44
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
El sistema "burdo" está descrito en el post #6, y aplicado quedaría así...

Código:
Sistema1 (111)
	A1: Volumen multimedia [ Nivel:255 Mostrar:Apagado Sonido:Apagado ] 
	A2: Establecer variable [ Nombre:%volmax A:%VOLM Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] 
	A3: Volumen multimedia [ Nivel:%volmax/2 Mostrar:Encendido Sonido:Apagado ]
El sistema "fino" es el que ha propuesto SmartPhoneLover en el post #4 (ver también #7 y #9), que aplicado quedaría así...

Código:
Sistema2 (222)
	A1: Función Java [ Devolver:audman Class Or Object:CONTEXT Función:getSystemService {AudioManager} (String) Param:audio ]
	A2: Función Java [ Devolver:%volmax Class Or Object:audman Función:getStreamMaxVolume {int} (int) Param:3 ]
	A3: Volumen multimedia [ Nivel:%volmax/2 Mostrar:Encendido Sonido:Apagado ]

Cambiando la acción de volumen, la variable global y el streamType ambos sistemas se pueden aplicar a cualquier canal de audio.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Otro software para Android > Tasker



Hora actual: 19:02:19 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /