Skip to content

TRuHa83/NoteRecorder

Repository files navigation

NoteRecorder - Práctica 1

Descripción

NoteRecorder es una aplicación Android desarrollada como parte de la Práctica 1 de la asignatura Programación multimedia y dispositivos móviles del grado superior de Desarrollo de Aplicaciones Multiplataforma (DAM).

El objetivo principal es crear una herramienta sencilla y funcional que permita a los usuarios grabar, gestionar y reproducir notas de voz personales, aplicando conceptos fundamentales de desarrollo Android moderno como Jetpack Compose, gestión de permisos y APIs de multimedia.

Objetivos del Ejercicio

Desarrollar una aplicación que gestione notas de voz aplicando:

  • Navegación fluida entre pantallas.
  • Gestión de permisos en tiempo de ejecución (Runtime Permissions).
  • Uso del almacenamiento interno del dispositivo para persistencia de datos.
  • Implementación de grabación y reproducción multimedia.
  • Gestión de estados reactivos con Jetpack Compose.

Funcionalidades

  • Grabar audios: Captura de notas de voz de forma rápida.
  • Reproducción: Controles para escuchar, pausar y detener las grabaciones.
  • Gestión de archivos: Almacenamiento automático en el directorio interno de la aplicación.
  • Listado de grabaciones: Interfaz para visualizar y acceder a las notas de voz guardadas.

Requisitos Técnicos

Estructura y Navegación

La aplicación se divide en dos pantallas principales:

  1. Pantalla Principal (Home): Muestra el listado de audios guardados y el acceso a la creación de nuevas notas.
  2. Pantalla de Audio/Grabación: Contiene la interfaz de control para la grabación y el reproductor de audio.

Modelo de Datos

Cada grabación se gestiona mediante una estructura lógica que incluye:

  • id: Identificador único.
  • nombre: Nombre descriptivo del audio.
  • ruta: Ubicación del archivo en el almacenamiento.
  • fecha: Fecha y hora de creación.

Gestión de Permisos

Se ha implementado la solicitud del permiso de micrófono (RECORD_AUDIO) en tiempo de ejecución, controlando el flujo de la aplicación en caso de denegación por parte del usuario.

Almacenamiento y Multimedia

  • Persistencia: Uso de context.filesDir para asegurar que los archivos sean privados y persistan tras el cierre de la app.
  • Grabador/Reproductor: Implementación lógica para manejar los diferentes estados del audio (preparado, grabando, reproduciendo, pausado).

Tecnologías Utilizadas

  • Lenguaje: Kotlin
  • UI: Jetpack Compose
  • Navegación: Compose Navigation
  • Multimedia: Android Media APIs (MediaRecorder/MediaPlayer)

Proyecto realizado para el Grado Superior de DAM - Asignatura: Programación multimedia y dispositivos móviles.

About

Aplicación para Android para grabar y reproducir notas de audio.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages