{"id":19162324,"url":"https://github.com/agilie/displayers-audio-visualizers","last_synced_at":"2025-04-07T10:27:26.369Z","repository":{"id":56908577,"uuid":"85292232","full_name":"agilie/DisPlayers-Audio-Visualizers","owner":"agilie","description":"DisPlayer is a customizable audio visualization component that works with recording and playing back audio files","archived":false,"fork":false,"pushed_at":"2021-07-12T16:12:16.000Z","size":5794,"stargazers_count":319,"open_issues_count":12,"forks_count":44,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-03-31T09:06:43.656Z","etag":null,"topics":["audio-effect","audio-files","displayers-audio-visualizers","equalizer","objective-c","objective-c-library","pod","swift"],"latest_commit_sha":null,"homepage":"https://agilie.com","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agilie.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-17T09:08:50.000Z","updated_at":"2025-03-17T08:43:55.000Z","dependencies_parsed_at":"2022-08-21T03:21:00.377Z","dependency_job_id":null,"html_url":"https://github.com/agilie/DisPlayers-Audio-Visualizers","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilie%2FDisPlayers-Audio-Visualizers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilie%2FDisPlayers-Audio-Visualizers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilie%2FDisPlayers-Audio-Visualizers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agilie%2FDisPlayers-Audio-Visualizers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agilie","download_url":"https://codeload.github.com/agilie/DisPlayers-Audio-Visualizers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247634566,"owners_count":20970555,"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":["audio-effect","audio-files","displayers-audio-visualizers","equalizer","objective-c","objective-c-library","pod","swift"],"created_at":"2024-11-09T09:10:19.933Z","updated_at":"2025-04-07T10:27:26.340Z","avatar_url":"https://github.com/agilie.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\n\u003cimg src=\"https://user-images.githubusercontent.com/4165054/28526805-510712c8-7091-11e7-8a7d-41753d760042.png\" alt=\"DisPlayers-Audio-Visualizers\" title=\"DisPlayers-Audio-Visualizers\" width=\"557\"/\u003e\n\u003c/p\u003e\n\n  \u003cp\u003e\n\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\n\u003ca href=\"https://www.agilie.com?utm_source=github\u0026utm_medium=referral\u0026utm_campaign=Git_Swift\u0026utm_term=DisPlayers-Audio-Visualizers\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Made%20by-Agilie-green.svg?style=flat\" alt=\"Made by Agilie\"\u003e\n\u003c/a\u003e\n\n\u003ca href=\"https://travis-ci.org/liptugamichael@gmail.com/DisPlayers-Audio-Visualizers\"\u003e\n\u003cimg src=\"http://img.shields.io/travis/agilie/DisPlayers-Audio-Visualizers.svg?style=flat\" alt=\"CI Status\"\u003e\n\u003c/a\u003e\n\n\u003ca href=\"http://cocoapods.org/pods/DisPlayers-Audio-Visualizers\"\u003e\n\u003cimg src=\"https://img.shields.io/cocoapods/v/DisPlayers-Audio-Visualizers.svg?style=flat\" alt=\"Version\"\u003e\n\u003c/a\u003e\n\n\u003ca href=\"http://cocoapods.org/pods/DisPlayers-Audio-Visualizers\"\u003e\n\u003cimg src=\"https://img.shields.io/cocoapods/l/DisPlayers-Audio-Visualizers.svg?style=flat\" alt=\"License\"\u003e\n\u003c/a\u003e\n\n\u003ca href=\"http://cocoapods.org/pods/DisPlayers-Audio-Visualizers\"\u003e\n\u003cimg src=\"https://img.shields.io/cocoapods/p/DisPlayers-Audio-Visualizers.svg?style=flat\" alt=\"Platform\"\u003e\n\u003c/a\u003e\n\n\u003c/p\u003e\n\n# DisPlayers-Audio-Visualizers\nDisPlayer is a customizable audio visualization component that works with recording and playing back audio files\n\n\u003cimg src=\"https://cloud.githubusercontent.com/assets/11332192/24103061/c3197d9c-0d86-11e7-8563-335eb32e7a75.gif\" alt=\"Histogram Demo\" height=\"375\" width=\"215\" border =\"50\"\u003e   \u003cimg src=\"https://cloud.githubusercontent.com/assets/11332192/24104739/9e551c0a-0d8b-11e7-8c08-1c3663db1065.gif\" alt=\"Rolling Demo\" height=\"375\" width=\"215\"\u003e\n\u003cimg src=\"https://cloud.githubusercontent.com/assets/11332192/24104119/0ad9faaa-0d8a-11e7-9889-31f5df7a8648.gif\" alt=\"Wave Dem\" height=\"375\" width=\"215\"\u003e   \u003cimg src=\"https://cloud.githubusercontent.com/assets/11332192/24104353/b4151578-0d8a-11e7-95f1-d267fab0ac49.gif\" alt=\"WaveStroke Dem\" height=\"375\" width=\"215\"\u003e\n\nThe audio visualizer can be easily embedded into an app that features:\n* audio comments to text or multimedia posts\n* recording and sending audio files in a chat\n* playing back audio files posted in a chat using a dedicated UI component\n\nDisPlayer features 5 default visualization presets that can be customized by the background color (single tone or gradient), the wave color, the number of the wave’s bins/bars, and the wave amplitude.\n\n## Installation\n\nThe control can be easily embedded into an app:\n\n### [CocoaPods](https://cocoapods.org/) (recommended)\n\n````ruby\n# For latest release in cocoapods\npod 'DisPlayers-Audio-Visualizers', '~\u003e 0.1.1'\n````\n\n## Getting started\n\n*Getting started guide for DisPlayers-Audio-Visualizers*\n1) You should added next classes into your project:\n\n ````objective-c\n#import \"EZAudio.h\" \n#import \"DPMainEqualizerView.h\"\n#import \"DPEqualizerSettings.h\"\n````\n\n2) This library contains four types of equalizer visualisation: (Histogram, Rolling, Wave and Circle Wave). And you should chose want kind of equalizer visualization you want and import that class into your project.\n\n### Histogram initialization example:\n\n````objective-c\n    DPEqualizerSettings *settings = [DPEqualizerSettings createByType: DPHistogram];\n    self.equalizerView = [[DPHistogramEqualizerView alloc] initWithFrame: self.view.bounds \n                                                             andSettings: settings];\n    [self.view addSubview: self.equalizerView];\n````\n\n````objective-c\n     NSString *audioPath = [[NSBundle mainBundle] pathForResource: @\"YOUR_AUDIO_FILE_PATH\" \n                                                           ofType: @\"AUDIO_FILE_TYPE\"];\n     EZAudioFile *audioFile = [[EZAudioFile alloc] initWithURL: [[NSURL alloc] initWithString: audioPath]];\n     self.player = [[EZAudioPlayer alloc] initWithAudioFile: audioFile];\n     self.player.delegate = self;\n     [self.player play];\n````\n\nEZAudioPlayerDelegate\n\n````objective-c\n- (void)  audioPlayer:(EZAudioPlayer *)audioPlayer\n          playedAudio:(float **)buffer\n       withBufferSize:(UInt32)bufferSize\n withNumberOfChannels:(UInt32)numberOfChannels\n          inAudioFile:(EZAudioFile *)audioFile {\n          \n    dispatch_async(dispatch_get_main_queue(), ^{\n        if (self.player.isPlaying) {\n            [self.equalizerView updateBuffer: buffer[0] withBufferSize:bufferSize];\n        }\n    \n    });\n}\n````\n\n3) You can also customize equalizer visualisation. You can change default settings for all equalizer visualisation types:\n````objective-c\n/// The highest bound of the frequency. Default: 7000Hz\n@property (nonatomic) float maxFrequency;\n\n/// The lowest bound of the frequency. Default: 400Hz\n@property (nonatomic) float minFrequency;\n\n/// The number of bins in the audio plot. Default: 40\n@property (nonatomic) NSUInteger numOfBins;\n\n/// The padding of each bin in percent width. Default: 0.2\n@property (nonatomic) CGFloat padding;\n\n/// The gain applied to the height of each bin. Default: 10\n@property (nonatomic) CGFloat gain;\n\n/// A float that specifies the vertical gravitational acceleration applied to each bin.\n/// Default: 10 pixel/sec^2\n@property (nonatomic) float gravity;\n\n/// The number of max bin height. Default: Screen height.\n@property (assign, nonatomic) CGFloat maxBinHeight;\n\n/// The type of plot that can be displayed in the view using the data. Default: DPPlotTypeBuffer.\n@property (assign, nonatomic) DPPlotType plotType;\n\n/// The type of equalizer that can be displayed in the view using the data. Default: DPHistogram.\n@property (assign, nonatomic) DPEqualizerType equalizerType;\n\n/// The colors of equalizer background that can be displayed in the view.\n@property (nonatomic, strong) NSMutableArray *equalizerBackgroundColors;\n\n/// The colors of low frequency that can be displayed in the view.\n@property (nonatomic, strong) NSMutableArray *lowFrequencyColors;\n\n/// The colors of hight frequency that can be displayed in the view.\n@property (nonatomic, strong) NSMutableArray *hightFrequencyColors;\n\n/// The colors of bins that can be displayed in the view.\n@property (nonatomic, strong) NSMutableArray *equalizerBinColors;\n\n@property (nonatomic, assign) BOOL fillGraph;\n````\n\nSome presets display audio frequencies as a separate waves, which provides more possibilities for cool sound visualization for your project.\n\n## Usage\n\nCocoaPods is the recommended way to add DisPlayer to your project:\n \n 1. Add a pod entry for DisPlayer to your Podfile pod 'DisPlayer'\n 2. Install the pod(s) by running pod installation.\n 3. Include DisPlayer wherever you need it with #import «Equalizers.h».\n\n## Requirements\n\nDisPlayer works on iOS 8.0+ and is compatible with ARC projects.\nIt depends on the following Apple frameworks, which should already be included with most Xcode templates:\nCoreGraphics.framework\nQuartzCore.framework \nCoreAudio.framework \nYou will need LLVM 3.0 or later in order to build “DisPlayer”\n\n## Author\n\nThis library is open-sourced by  [Agilie Team](https://www.agilie.com?utm_source=github\u0026utm_medium=referral\u0026utm_campaign=Git_Swift\u0026utm_term=DisPlayers-Audio-Visualizers) \u003cinfo@agilie.com\u003e\n\n## Contributors\n\n[Michael Liptuga](https://github.com/Liptuga-Michael) - \u003cmichael.liptuga@agilie.com\u003e\n\n\n## Contact us\n\n\u003cios@agilie.com\u003e\n\n\n## License\n\nThe [MIT](LICENSE.MD) License (MIT) Copyright © 2017 [Agilie Team](https://www.agilie.com?utm_source=github\u0026utm_medium=referral\u0026utm_campaign=Git_Swift\u0026utm_term=DisPlayers-Audio-Visualizers)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagilie%2Fdisplayers-audio-visualizers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagilie%2Fdisplayers-audio-visualizers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagilie%2Fdisplayers-audio-visualizers/lists"}