Usuario:ManuelRomero/DAW/moviles/piano

De WikiEducator
Saltar a: navegación, buscar

Especificación de la práctica

  • Realizar una aplicación que sea un piano con App inventor
  • Se pretende que tengamos una serie de teclas cada una de las cuales generará un sonido musical. (no consideramos ni sostenidos ni bemoles).
  • Como funcionalidad podemos considerar que se puede grabar lo que se toca, y posteriormente reproducirlo.
  • En cualquier momento podríamos borrar lo que hubiera con una opción por ejemplo del reset.

Diseñando el interfaz

  • Con la breve exposición anterior podríamos pensar en el siguiente interfaz

InterfazPiano.png

  • Los elementos utilizados son
    • Tres botones para las acciones de reset grabar reproducir
    • Un objeto Aligment Horizontal Para ubicar dichos botones
    • 8 botones para cada una de las notas desde el do menor hasta el do mayor
    • Un objeto Aligment Horizontal para colocar los botones que simulan el piano
    • Un objeto sound para los sonidos
    • Un reloj para a la hora de grabar los sonidos respetar los espacios de tiempo entre ellos
  • Las propiedades (tamaños, colores, ...) un poco a gusto del consumidor :)

Especificando el comportamiento

  • Antes de especificar el comportamiento debemos subir los sonidos que queremos reporducir
  • Son sonidos en ficheros wav de muy corta duracción
  • Para subir un fichero podemos usar las propiedades de diseño y seleccionar los ficheros que queremos subir (de uno en uno)
  • Por ejemplo podemos usar la propiedad backgroudImage de un boton y subir ahí todos los ficheros presionando el botón Upload new...
SubirFicheroAppInventor.png

Suena la música

  • Sound es un objeto especial, es como si fuera un casett que sabe usar el hardware del teléfono para reproducir sonidos
  • Antes de que sound reproduzca un sonido debemos cargarlo previamente
    • En clase hemos usamos el símil de antes de que suene una canción debo insetar el cd o el pen con la música
  • Todas las cosas que queremos que se realicen antes de usar la aplicación las especificaremos en el método inizialice del objeto Screen
  • Lo que queremos es que al hacer un click suene la nota
  • Previamente debemos cargar los sonidos en el objeto

ScreenInizialize.png

  • Ahora simplemente cuando suene el click sobre en botón queremos que suene la nota correspondiente
  • Como porblablemente ya has intuido, seguramente querramos hacer más cosas(Si se está grabando que al hacer click de alguna forma se guarde la nota).
  • Es por ello que vamos a crear una función que haga cosas cuando presionamos una nota
  • La siguiente imagen muestra los bloques creados para especificar este comportamiento
  • Creamos una funcion llamada play

FuncionPlay1.png

  • Y la invocación de la función sería

ClickNota.png