{"id":20893097,"url":"https://github.com/alejandrohar/appradiostreamingkotlinviewbinding","last_synced_at":"2026-04-12T16:11:42.169Z","repository":{"id":211158895,"uuid":"728367499","full_name":"alejandroHAR/AppRadioStreamingKotlinViewBinding","owner":"alejandroHAR","description":"App para android para reproducir una radio streaming","archived":false,"fork":false,"pushed_at":"2023-12-11T16:10:50.000Z","size":110,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-01T05:05:43.516Z","etag":null,"topics":["android","android-studio","espanol","koltin","viewbinding-android"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alejandroHAR.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"Argentina":null,"Mercado Pago":"d.alejandro.herrera"}},"created_at":"2023-12-06T19:41:45.000Z","updated_at":"2024-08-28T02:09:26.000Z","dependencies_parsed_at":"2023-12-06T20:43:35.496Z","dependency_job_id":"8cb500b5-a1b2-407b-b4d6-9d50aa56508c","html_url":"https://github.com/alejandroHAR/AppRadioStreamingKotlinViewBinding","commit_stats":null,"previous_names":["alejandromarmilich/appradiostreamingkotlinviewbinding","alejandrohar/appradiostreamingkotlinviewbinding"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/alejandroHAR/AppRadioStreamingKotlinViewBinding","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alejandroHAR%2FAppRadioStreamingKotlinViewBinding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alejandroHAR%2FAppRadioStreamingKotlinViewBinding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alejandroHAR%2FAppRadioStreamingKotlinViewBinding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alejandroHAR%2FAppRadioStreamingKotlinViewBinding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alejandroHAR","download_url":"https://codeload.github.com/alejandroHAR/AppRadioStreamingKotlinViewBinding/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alejandroHAR%2FAppRadioStreamingKotlinViewBinding/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266019657,"owners_count":23864916,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-studio","espanol","koltin","viewbinding-android"],"created_at":"2024-11-18T10:14:40.224Z","updated_at":"2026-04-12T16:11:42.105Z","avatar_url":"https://github.com/alejandroHAR.png","language":"Kotlin","funding_links":["d.alejandro.herrera"],"categories":[],"sub_categories":[],"readme":"\n# Español\n# MyRadio App\n\n## Descripción\nMyRadio es una aplicación de radio simple para dispositivos Android que permite a los usuarios reproducir una estación de radio en línea de manera fácil y rápida. La aplicación utiliza la clase `MediaPlayer` para la reproducción de audio y proporciona controles básicos, como reproducción, pausa y control de volumen.\n\n## Funcionalidades\n- **Reproducción de Audio:** Utiliza la clase `MediaPlayer` para reproducir la estación de radio en línea especificada en el archivo de recursos (`res/values/strings.xml`).\n\n- **Controles de Reproducción:**\n  - Botón de \"Play\": Inicia la reproducción de la estación de radio.\n  - Botón de \"Pause\": Pausa la reproducción de la estación de radio.\n\n- **Control de Volumen:**\n  - Barra deslizante (`volumeControl`): Permite al usuario ajustar el volumen de la reproducción de audio.\n\n## Cómo funciona\nLa aplicación sigue una estructura básica de Android y utiliza el patrón de diseño Modelo-Vista-Controlador (MVC):\n\n- **Inicialización y Configuración:**\n  - En el método `onCreate`, se inicializa la interfaz de usuario mediante la vinculación de vistas utilizando `ActivityMainBinding`.\n  - Se configura el `AudioManager` para controlar el volumen del dispositivo.\n  - Se inicia la configuración del reproductor llamando al método `init()`.\n\n- **Configuración del Reproductor (`init`):**\n  - Se inicializa el objeto `MediaPlayer` y se configuran sus atributos de audio mediante `AudioAttributes`.\n  - Se establece la fuente de datos del reproductor con la URL de la estación de radio especificada en `res/values/strings.xml`.\n  - Se utiliza `prepareAsync()` para preparar el reproductor de manera asíncrona y se inicia la reproducción en el evento de preparación (`setOnPreparedListener`).\n\n- **Controles de Reproducción (`listener`):**\n  - Se establecen los listeners para los botones de reproducción y pausa.\n  - La barra de desplazamiento `volumeControl` tiene un listener que ajusta el volumen mediante el `AudioManager`.\n\n## Notas\n- Asegúrate de proporcionar la URL correcta de la estación de radio en el archivo `res/values/strings.xml`.\n- La aplicación está diseñada para funcionar con el flujo de música (`STREAM_MUSIC`) del `AudioManager`.\n- Se manejan excepciones como `IllegalArgumentException`, `IllegalStateException`, y `IOException` durante la configuración del reproductor.\n- Asegúrece de agregar los permisos necesarios en el archivo `AndroidManifest` de la aplicación.\n- Asegúrese de habilitar `View Binding` en el archivo `Graddle`. Véase en enlaces útiles si es necesario.\n\n## Enlaces Útiles\n- [Documentación oficial de Android Developer](https://developer.android.com/docs)\n- [Documentación de MediaPlayer](https://developer.android.com/reference/android/media/MediaPlayer)\n- [Documentación de AudioManager](https://developer.android.com/reference/android/media/AudioManager)\n- [Documentación de View Binding](https://developer.android.com/topic/libraries/view-binding?hl=es-419)\n\n# English\n\n# MyRadio App\n\n## Description\nMyRadio is a simple radio application for Android devices that allows users to play an online radio station easily and quickly. The application uses the `MediaPlayer` class for audio playback and provides basic controls such as play, pause, and volume control.\n\n## Features\n- **Audio Playback:** Uses the `MediaPlayer` class to play the radio station specified in the resource file (`res/values/strings.xml`).\n\n- **Playback Controls:**\n  - \"Play\" Button: Initiates the playback of the radio station.\n  - \"Pause\" Button: Pauses the playback of the radio station.\n\n- **Volume Control:**\n  - Slider (`volumeControl`): Allows the user to adjust the volume of the audio playback.\n\n## How It Works\nThe application follows a basic Android structure and uses the Model-View-Controller (MVC) design pattern:\n\n- **Initialization and Configuration:**\n  - In the `onCreate` method, the user interface is initialized by binding views using `ActivityMainBinding`.\n  - The `AudioManager` is configured to control the device's volume.\n  - The player configuration is initiated by calling the `init()` method.\n\n- **Player Configuration (`init`):**\n  - The `MediaPlayer` object is initialized, and its audio attributes are configured using `AudioAttributes`.\n  - The player's data source is set with the URL of the radio station specified in `res/values/strings.xml`.\n  - `prepareAsync()` is used to asynchronously prepare the player, and playback is initiated in the preparation event (`setOnPreparedListener`).\n\n- **Playback Controls (`listener`):**\n  - Listeners are set for the play and pause buttons.\n  - The slider `volumeControl` has a listener that adjusts the volume using `AudioManager`.\n\n## Notes\n- Ensure to provide the correct URL of the radio station in the `res/values/strings.xml` file.\n- The application is designed to work with the music stream (`STREAM_MUSIC`) of `AudioManager`.\n- Exceptions such as `IllegalArgumentException`, `IllegalStateException`, and `IOException` are handled during player setup.\n- Make sure to add the necessary permissions in the `AndroidManifest` file of the application.\n- Ensure to enable `View Binding` in the Gradle file. Refer to the useful links if needed.\n\n## Useful Links\n- [Official Android Developer Documentation](https://developer.android.com/docs)\n- [MediaPlayer Documentation](https://developer.android.com/reference/android/media/MediaPlayer)\n- [AudioManager Documentation](https://developer.android.com/reference/android/media/AudioManager)\n- [View Binding Documentation](https://developer.android.com/topic/libraries/view-binding)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falejandrohar%2Fappradiostreamingkotlinviewbinding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falejandrohar%2Fappradiostreamingkotlinviewbinding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falejandrohar%2Fappradiostreamingkotlinviewbinding/lists"}