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


 
Herramientas
  #1  
Viejo 26/06/18, 19:00:46
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
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 ...
Responder Con Cita


  #2  
Viejo 26/06/18, 21:14:29
Avatar de Caravantes
Caravantes Caravantes no está en línea
Usuario muy activo
Mensajes: 2,200
Compra y venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Versión de ROM: Android 8
Tu operador: Lowi
Mencionado: 59 comentarios
Tagged: 4 hilos
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?
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 26/06/18, 21:36:26
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
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.
Responder Con Cita
  #4  
Viejo 27/06/18, 10:59:46
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
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
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
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
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
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?
Responder Con Cita
Gracias de parte de:
  #7  
Viejo 27/06/18, 18:21:19
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
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
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
̶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
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
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).
Responder Con Cita
Los siguientes 2 usuarios han agradecido a WillyWeb su comentario:
  #10  
Viejo 28/06/18, 18:55:58
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
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
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
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
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
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.
Responder Con Cita
  #13  
Viejo 30/06/18, 20:26:16
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
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
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
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.
Responder Con Cita
  #15  
Viejo 02/07/18, 16:13:49
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
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
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
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
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
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.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Otro software para Android > Tasker


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 21:15:42 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007