All Projects → agilie → Displayers Audio Visualizers

agilie / Displayers Audio Visualizers

Licence: mit
DisPlayer is a customizable audio visualization component that works with recording and playing back audio files

Programming Languages

swift
15916 projects

Labels

Projects that are alternatives of or similar to Displayers Audio Visualizers

ContextMenuSwift
A better version of iOS 13 Context Menu
Stars: ✭ 162 (-39.55%)
Mutual labels:  pod
opssight-connector
OpsSight Connector documentation
Stars: ✭ 15 (-94.4%)
Mutual labels:  pod
ReSwiftMonitor
ReSwift+redeux dev tools
Stars: ✭ 13 (-95.15%)
Mutual labels:  pod
simplenetes
The sns tool is used to manage the full life cycle of your Simplenetes clusters. It integrates with the Simplenetes Podcompiler project podc to compile pods.
Stars: ✭ 731 (+172.76%)
Mutual labels:  pod
CXDatePickerView
一个自定义的日期时间选择器
Stars: ✭ 62 (-76.87%)
Mutual labels:  pod
flowtorch
flowTorch - a Python library for analysis and reduced-order modeling of fluid flows
Stars: ✭ 47 (-82.46%)
Mutual labels:  pod
PagedLists
Paginated UITableView and UICollectionViews for iOS.
Stars: ✭ 69 (-74.25%)
Mutual labels:  pod
shpod
Container image to get a consistent training environment to work on Kubernetes.
Stars: ✭ 107 (-60.07%)
Mutual labels:  pod
SSCycleScrollView
轮播终结者,用swift完成,易用集成
Stars: ✭ 39 (-85.45%)
Mutual labels:  pod
CucumberSwift
A lightweight swift Cucumber implementation
Stars: ✭ 40 (-85.07%)
Mutual labels:  pod
QuickWebKit
A great & strong plugin based WebViewController. 一款基于插件的 WebView 视图控制器,您可以基于它设计您的浏览器插件,然后像积木一样来组装它们。
Stars: ✭ 29 (-89.18%)
Mutual labels:  pod
GQImageVideoViewer
仿微信多图片及视频浏览器,图片和视频原尺寸显示,不会变形,双击图片放大缩小,单击消失,支持多张本地和网络图片以及网络视频混合查看,支持链式调用
Stars: ✭ 57 (-78.73%)
Mutual labels:  pod
rkt-compose
CLI to run Docker Compose file as pod on rkt with integrated service discovery using Consul - EOL
Stars: ✭ 24 (-91.04%)
Mutual labels:  pod
kubernetes-basico
Demonstração dos componentes do Kubernetes
Stars: ✭ 26 (-90.3%)
Mutual labels:  pod
deploy-to-cocoapods-github-action
Github action for deploying to Cocoapods.org
Stars: ✭ 29 (-89.18%)
Mutual labels:  pod
GoogleDriveBrowser
Goole Drive Download Library for iOS
Stars: ✭ 13 (-95.15%)
Mutual labels:  pod
IDCardNumber-Validator
An Objective-C & Swift implementation to (check) validate Chinese ID Card No. 身份证号码验证
Stars: ✭ 15 (-94.4%)
Mutual labels:  pod
NIM iOS UIKit
网易云信 iOS UI 组件,提供聊天界面,文本消息,图片消息,语音消息,视频消息,地理位置消息,自定义消息(阅后即焚)等消息示例。#推荐客户得比特币/京东卡,现在推荐使用网易云信,最低得0.02BTC或3000元京东卡/单,点击参与:https://yunxin.163.com/promotion/recommend
Stars: ✭ 1,371 (+411.57%)
Mutual labels:  pod
cocoapods-user-defined-build-types
⚒ A cocoapods plugin that can selectively set build type per pod (static library, dynamic framework, etc.)
Stars: ✭ 91 (-66.04%)
Mutual labels:  pod
kubecmd
Connect to your kubernetes' apps and run commands easily
Stars: ✭ 16 (-94.03%)
Mutual labels:  pod

DisPlayers-Audio-Visualizers

Made by Agilie CI Status Version License Platform

DisPlayers-Audio-Visualizers

DisPlayer is a customizable audio visualization component that works with recording and playing back audio files

Histogram Demo Rolling Demo Wave Dem WaveStroke Dem

The audio visualizer can be easily embedded into an app that features:

  • audio comments to text or multimedia posts
  • recording and sending audio files in a chat
  • playing back audio files posted in a chat using a dedicated UI component

DisPlayer 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.

Installation

The control can be easily embedded into an app:

CocoaPods (recommended)

# For latest release in cocoapods
pod 'DisPlayers-Audio-Visualizers', '~> 0.1.1'

Getting started

Getting started guide for DisPlayers-Audio-Visualizers

  1. You should added next classes into your project:
#import "EZAudio.h" 
#import "DPMainEqualizerView.h"
#import "DPEqualizerSettings.h"
  1. 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.

Histogram initialization example:

    DPEqualizerSettings *settings = [DPEqualizerSettings createByType: DPHistogram];
    self.equalizerView = [[DPHistogramEqualizerView alloc] initWithFrame: self.view.bounds 
                                                             andSettings: settings];
    [self.view addSubview: self.equalizerView];
     NSString *audioPath = [[NSBundle mainBundle] pathForResource: @"YOUR_AUDIO_FILE_PATH" 
                                                           ofType: @"AUDIO_FILE_TYPE"];
     EZAudioFile *audioFile = [[EZAudioFile alloc] initWithURL: [[NSURL alloc] initWithString: audioPath]];
     self.player = [[EZAudioPlayer alloc] initWithAudioFile: audioFile];
     self.player.delegate = self;
     [self.player play];

EZAudioPlayerDelegate

- (void)  audioPlayer:(EZAudioPlayer *)audioPlayer
          playedAudio:(float **)buffer
       withBufferSize:(UInt32)bufferSize
 withNumberOfChannels:(UInt32)numberOfChannels
          inAudioFile:(EZAudioFile *)audioFile {
          
    dispatch_async(dispatch_get_main_queue(), ^{
        if (self.player.isPlaying) {
            [self.equalizerView updateBuffer: buffer[0] withBufferSize:bufferSize];
        }
    
    });
}
  1. You can also customize equalizer visualisation. You can change default settings for all equalizer visualisation types:
/// The highest bound of the frequency. Default: 7000Hz
@property (nonatomic) float maxFrequency;

/// The lowest bound of the frequency. Default: 400Hz
@property (nonatomic) float minFrequency;

/// The number of bins in the audio plot. Default: 40
@property (nonatomic) NSUInteger numOfBins;

/// The padding of each bin in percent width. Default: 0.2
@property (nonatomic) CGFloat padding;

/// The gain applied to the height of each bin. Default: 10
@property (nonatomic) CGFloat gain;

/// A float that specifies the vertical gravitational acceleration applied to each bin.
/// Default: 10 pixel/sec^2
@property (nonatomic) float gravity;

/// The number of max bin height. Default: Screen height.
@property (assign, nonatomic) CGFloat maxBinHeight;

/// The type of plot that can be displayed in the view using the data. Default: DPPlotTypeBuffer.
@property (assign, nonatomic) DPPlotType plotType;

/// The type of equalizer that can be displayed in the view using the data. Default: DPHistogram.
@property (assign, nonatomic) DPEqualizerType equalizerType;

/// The colors of equalizer background that can be displayed in the view.
@property (nonatomic, strong) NSMutableArray *equalizerBackgroundColors;

/// The colors of low frequency that can be displayed in the view.
@property (nonatomic, strong) NSMutableArray *lowFrequencyColors;

/// The colors of hight frequency that can be displayed in the view.
@property (nonatomic, strong) NSMutableArray *hightFrequencyColors;

/// The colors of bins that can be displayed in the view.
@property (nonatomic, strong) NSMutableArray *equalizerBinColors;

@property (nonatomic, assign) BOOL fillGraph;

Some presets display audio frequencies as a separate waves, which provides more possibilities for cool sound visualization for your project.

Usage

CocoaPods is the recommended way to add DisPlayer to your project:

  1. Add a pod entry for DisPlayer to your Podfile pod 'DisPlayer'
  2. Install the pod(s) by running pod installation.
  3. Include DisPlayer wherever you need it with #import «Equalizers.h».

Requirements

DisPlayer works on iOS 8.0+ and is compatible with ARC projects. It depends on the following Apple frameworks, which should already be included with most Xcode templates: CoreGraphics.framework QuartzCore.framework CoreAudio.framework You will need LLVM 3.0 or later in order to build “DisPlayer”

Author

This library is open-sourced by Agilie Team [email protected]

Contributors

Michael Liptuga - [email protected]

Contact us

[email protected]

License

The MIT License (MIT) Copyright © 2017 Agilie Team

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].