6 febrero, 2025

INSERTAR Y EJECUTAR MENSAJE DE AUDIO EN POWER APPS

Hola a todos!

En Power Apps cuando necesitamos notificar o mostrar un mensaje para informar al usuario podemos utilizar la función Notify() o trabajar con contenedores u objetos y condicionar la propiedad Visible para mostrar un mensaje específico.

Pero también podemos hacerlo con un audio, lo cierto es que explorar esta opción puede ser muy interesante, incluso para personas que no pueden ver y necesitan saber si la gestión que hacen se ha realizado correctamente.

Este ejemplo que os voy a mostrar espero que sea suficientemente ilustrativo. Se trata de que cuando grabemos un comentario en la aplicación, ésta nos notifique con un audio que lo hemos hecho correctamente.

Esta es la aplicación que he construido:

El primer paso para realizar nuestro proyecto es obtener el audio que queremos agregar. Para ello existen multitud de opciones, desde grabarlo vosotros directamente en el móvil a hacer en la web en un servicio que pase de texto a audio. En mi caso he usado un aplicación online.

Una vez que tengáis el audio lo pasáis a vuestro sitio de SharePoint:

Ahí tendréis que selecciona el tipo de permisos, que son Personas que tienen acceso

Ahora en nuestro Power Apps vamos a insertar el control «Audio»:

Y ahora vamos a programar el control:

En primer lugar en la propiedad Media incorporaremos la url a la nuestro audio:

En la propiedad OnEnd pondremos esto:

Set(varReproAudio;false)

En OnStart indicaremos true

Y en Start la variable: varReproAudio

Para que al presionar el botón Guardar y se ejecute el audio, tendremos que cambiar el valor de la variable a true con esta sentencia:

        Set(
            varReproAudio;
            true
        );;

En el ejemplo, sin embargo, cuando pulsamos el botón se deben guardar los datos y ejecutar el mensaje, este sería el código completo del botón:

If(
    !IsBlank(vIdent) And Checkbox1.Value;
    Concurrent(
        Patch(
            BBDD_PERSONAS;
            LookUp(
                BBDD_PERSONAS;
                ID = Value(txtIdentificador.Text)
            );
            {COMENTARIOS: TextInput1.Text}
        );
        Set(
            varReproAudio;
            true
        );;

    );
    Notify("NO HAS SELECCIONADO A NADIE")
);;
Set(
    Resetear;
    false
);;
Set(
    Resetear;
    true
);;
Set(
    vIdent;
    Blank()
);;
Set(
    vNombre;
    Blank()
);;
Reset(TextInput1);;

Pero tenemos que tener cuenta un detalle importante, el botón debería quedar desactivado durante el tiempo que se está reproduciendo el audio.

Para ello vamos a insertar un control Timer y programarlo, le daremos la misma duración que el audio, es decir, 6 segundos. Y desactivamos el resto de opciones:

Y en el resto de propiedades que debemos modificar:

En OnTimerEnd incluimos esto:

Set(varStartTimer; false);;

y en Start incluimos la variable: varStartTimer

Y el código del botón completo será este:

If(
    !IsBlank(vIdent) And Checkbox1.Value;
    Concurrent(
        Patch(
            BBDD_PERSONAS;
            LookUp(
                BBDD_PERSONAS;
                ID = Value(txtIdentificador.Text)
            );
            {COMENTARIOS: TextInput1.Text}
        );
        Set(varReproAudio;true);;
        Set(varStartTimer; true);;
    );
    Notify("NO HAS SELECCIONADO A NADIE")
);;
Set(
    Resetear;
    false
);;
Set(
    Resetear;
    true
);;
Set(
    vIdent;
    Blank()
);;
Set(
    vNombre;
    Blank()
);;
Reset(TextInput1);;

Y como último paso en la propiedad Display del botón colocamos esto:

If(
    varStartTimer;
    DisplayMode.Disabled;
    DisplayMode.Edit
)

Y ya tenemos toda la aplicación completamente finalizada. Obviamente podéis modificar los valores y cambiar secuencias y tiempos. Lo realmente interesante es que podemos notificar con audios.

Y esto es todo, espero que sea de utilidad!!

Comparte este post

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies