{"id":22449889,"url":"https://github.com/turskyi/visualizerkotlin","last_synced_at":"2026-04-29T13:32:20.324Z","repository":{"id":133704907,"uuid":"279675984","full_name":"Turskyi/VisualizerKotlin","owner":"Turskyi","description":"This Android project demonstrates how to create an audio visualizer using the Visualizer class. It also showcases the use of SharedPreferences and custom settings to allow the user to customize the visualizer's appearance and behavior.","archived":false,"fork":false,"pushed_at":"2024-07-28T20:06:08.000Z","size":7426,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-14T01:39:58.593Z","etag":null,"topics":["android","educational-project","kotlin","sample-app","xml"],"latest_commit_sha":null,"homepage":"https://github.com/Turskyi/VisualizerKotlin","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/Turskyi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2020-07-14T19:32:36.000Z","updated_at":"2024-07-28T20:05:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"b82796d7-1c8a-4090-8466-209d713ee1c6","html_url":"https://github.com/Turskyi/VisualizerKotlin","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Turskyi/VisualizerKotlin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Turskyi%2FVisualizerKotlin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Turskyi%2FVisualizerKotlin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Turskyi%2FVisualizerKotlin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Turskyi%2FVisualizerKotlin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Turskyi","download_url":"https://codeload.github.com/Turskyi/VisualizerKotlin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Turskyi%2FVisualizerKotlin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32427497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T12:24:25.982Z","status":"ssl_error","status_checked_at":"2026-04-29T12:24:24.439Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","educational-project","kotlin","sample-app","xml"],"created_at":"2024-12-06T05:12:22.209Z","updated_at":"2026-04-29T13:32:20.267Z","avatar_url":"https://github.com/Turskyi.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct-single.svg)](https://stand-with-ukraine.pp.ua)\n\u003cimg alt=\"GitHub commit activity\" src=\"https://img.shields.io/github/commit-activity/m/Turskyi/VisualizerKotlin\"\u003e\n\n# Audio Visualizer\n\nThis Android project demonstrates how to create an audio visualizer using the\nVisualizer class. It also showcases the use of SharedPreferences and custom\nsettings to allow the user to customize the visualizer's appearance and\nbehavior.\n\n## Value\n\nThis project is valuable for developers who want to learn how to:\nUse the Visualizer class to create audio visualizations.\nImplement custom settings using SharedPreferences and PreferenceFragmentCompat.\nHandle runtime permissions for audio recording.\nCreate custom views for displaying data.\n\n## Key classes\n\n- **MainActivity**: This activity is responsible for setting up the visualizer\n- view, handling audio permissions, and managing the audio input reader. It\n- also interacts with the SharedPreferences to apply user settings.\n- **SettingsFragment**: This fragment provides a user interface for\n- customizing the visualizer's settings. It uses PreferenceFragmentCompat to\n- display a list of customizable options, such as color, size, and frequency\n- bands to display.\n\n## Features\n\n- Real-time audio visualization.\n- Customizable visualizer settings:\n    - Color\n    - Size\n    - Displayed frequency bands (bass, mid-range, treble)\n- Runtime permission handling for audio recording.\n\n## Note\n\nThis project is intended as an educational sample and may require further\ndevelopment for production use.\n\n## Screenshots:\n\n\u003c!--suppress CheckImageSize --\u003e\n\u003cimg src=\"screenshots/VisualizerScreenshot_20240728.png\" width=\"400\"  alt=\"screenshot\"\u003e\n\u003c!--suppress CheckImageSize --\u003e\n\u003cimg src=\"screenshots/SettingsScreenshot_20240728.png\" width=\"400\"  alt=\"screenshot\"\u003e\n\n## Contact:\n\nFor any inquiries or suggestions, please open an issue on the GitHub repository\nor reach out to me directly at\n[dmytro@turskyi.com](mailto:dmytro@turskyi.com).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fturskyi%2Fvisualizerkotlin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fturskyi%2Fvisualizerkotlin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fturskyi%2Fvisualizerkotlin/lists"}