[翻译] ZLHistogramAudioPlot
ZLHistogramAudioPlot

A hardware-accelerated audio visualization view using EZAudio, inspired by AudioCopy. ZLHistogramAudioPlot was originally developed for Murmur.
这是使用了EZAudio,一个硬件加速的audio可视化view,灵感来自于AudioCopy.ZLHistogramAudioPlot这个最开始是为了Murmur而开发的.
Preview - 预览
Buffer

CocoaPods
You can install ZLHistogramAudioPlot through CocoaPods adding the following to your Podfile:
你可以用CocoaPods来安装ZLHistogramAudioPlot
pod 'ZLHistogramAudioPlot'
Usage - 使用
Checkout the demo app for an example.
下载demo app来看源码吧:
Customizable attributes:
可以定制的属性:
/// The upper bound of the frequency range the audio plot will display. Default:
/// 10000Hz
@property (nonatomic) float maxFrequency; /// The lower bound of the frequency range the audio plot will display. Default:
/// 1200Hz
@property (nonatomic) float minFrequency; /// The number of bins in the audio plot. Default: 30
@property (nonatomic) NSUInteger numOfBins; /// The padding of each bin in percent width. Default: 0.1
@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 color of all bins in the audio plot.
@property (strong, nonatomic) UIColor *color; /// An array of color objects defining the color of each bin in the audio plot.
/// If not set, the color attribute will be used instead. Currently only
/// supported by plot type EZPlotTypeBuffer.
@property (strong, nonatomic) NSArray *colors;
Dependencies - 依赖关系
ZLHistogramAudioPlotis a subclass ofEZAudioPlot. It requires EZAudio. ZLHistogramAudioPlot继承自EZAudioPlot,它需要EZAudio框架支持- It also requires Accelerate framework for hardware acceleration. 他也需要Accelerate来支持硬件加速
Compatibilty - 兼容性
ZLHistogramAudioPlot uses the following interface provided by EZAudio to get audio data:
ZLHistogramAudioPlot是使用以下的接口来获取到EZAudio的audio数据的:
- (void)updateBuffer:(float *)buffer withBufferSize:(UInt32)bufferSize;
It can be easily modified to work with Audio Unit and Core Audio.
你也可以简单的修改到支持 Audio Unit 与 Core Audio
Requirements - 需要的环境
- iOS 6 or higher. iOS 6 +
- Automatic Reference Counting (ARC). ARC
License
ZLHistogramAudioPlot is available under the MIT license. See the LICENSE file for more info.
[翻译] ZLHistogramAudioPlot的更多相关文章
- 《Django By Example》第五章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者@ucag注:大家好,我是新来的翻译, ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- [翻译]开发文档:android Bitmap的高效使用
内容概述 本文内容来自开发文档"Traning > Displaying Bitmaps Efficiently",包括大尺寸Bitmap的高效加载,图片的异步加载和数据缓存 ...
- 【探索】机器指令翻译成 JavaScript
前言 前些时候研究脚本混淆时,打算先学一些「程序流程」相关的概念.为了不因太枯燥而放弃,决定想一个有趣的案例,可以边探索边学. 于是想了一个话题:尝试将机器指令 1:1 翻译 成 JavaScript ...
- 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...
- 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...
- 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...
- 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?
0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点
在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity ...
随机推荐
- C语言中函数返回字符串的四种方法
在讨论着四种方法之前,首先要对函数有一个简单的认识,无论是在形实结合时,还是在return语句返回时,都有一个拷贝的过程.你传进来的参数是个值,自然函数在工作之前要把这个值拷贝一份供自己使用,你传进来 ...
- [笔记] Python字典
好记忆不如烂笔头: #__author:Mifen #date: 2018/11/28 #不可变类型:整型,字符串,浮点型(不等于小数,但包括小数),元组(只读,不可修改) #可变类型:列表,字典(键 ...
- 推荐的bootstrap之 formgroup表单布局样式
一直没能找到比较好的Form Group样式,直到找到如下样式 转自 https://www.cnblogs.com/jokerjason/p/5721349.html <form class= ...
- [转]9.2.3 .net core 通过TagHelper封装控件
本文转自:https://www.cnblogs.com/BenDan2002/p/6170624.html .net core 除了继续保留.net framework的HtmlHelper的写法以 ...
- 能ping通外网dns但不能上网一例
一个win7本本仅通过一个无线路由一个人上网,突然一天不能上网了,甚是奇怪,一看本地连接均是正常的.而且能ping通外网的dns,但无论如何就是打不开网页,表现为输入任何网址很迅速的显示该页无法显示, ...
- rabbitmq-channel方法介绍
先介绍rabbmitmq的几个方法: // 声明一个队列 -// queue 队列名称 // durable 为true时server重启队列不会消失 (是否持久化) // exclusive 队列是 ...
- ASP.NET Core2,通过反射批量注入程序集
public void ConfigureServices(IServiceCollection services) { string strValue = Con ...
- 3.C#基础篇-->堆和栈
一.前言 堆与栈对于理解.NET中的内存管理.垃圾回收.错误和异常.调试与日志有很大的帮助.垃圾回收的机制使程序员从复杂的内存管理中解脱出来,虽然绝大多数的C#程序并不需要程序员手动管理内存,但这并不 ...
- 解决XShell不能使用小键盘的问题
新建链接的时候,在Terminal节点,选择VT Modes为set to normal.
- Java基础教程(10)--类
一.声明类 你已经见过了以如下方式定义的类: class MyClass { // field, constructor, and method declarations } 上面是声明类的最 ...