![alt text](https://s3-us-west-1.amazonaws.com/ezaudio-media/EZAudioJumbo-Alt.png "EZAudioLogo")
#EZAudio
A simple, intuitive audio framework for iOS and OSX.
*The Official EZAudio Page:*
http://syedharisali.com/projects/EZAudio/getting-started
## Update
Thank you everyone for using EZAudio! Just an update - I'm working on a 1.0.0 production version of EZAudio that will contain a bunch of improvements in the API, feature an EZAudioPlayer, and hooks for the DOUAudioStreamer for visualizing remote streaming audio. To make the next version of EZAudio even better I encourage you all to email me your feedback, feature requests, and experiences using the framework. Thanks!
##Features
![alt text](https://s3-us-west-1.amazonaws.com/ezaudio-media/EZAudioSummary.png "EZAudioFeatures")
**Awesome Components**
I've designed six core components to allow you to immediately get your hands dirty recording, playing, and visualizing audio data. These components simply plug into each other and build on top of the high-performance, low-latency AudioUnits API and give you an easy to use API written in Objective-C instead of pure C.
[EZMicrophone](#EZMicrophone)
A microphone class that provides its delegate audio data from the default device microphone with one line of code.
[EZRecorder](#EZRecorder)
A recorder class that provides a quick and easy way to write audio files from any datasource.
[EZAudioFile](#EZAudioFile)
An audio file class that reads/seeks through audio files and provides useful delegate callbacks.
[EZOutput](#EZOutput)
An output class that will playback any audio it is provided by its datasource.
[EZAudioPlot](#EZAudioPlot)
A CoreGraphics-based audio waveform plot capable of visualizing any float array as a buffer or rolling plot.
[EZAudioPlotGL](#EZAudioPlotGL)
An OpenGL-based, GPU-accelerated audio waveform plot capable of visualizing any float array as a buffer or rolling plot.
**Cross Platform**
`EZAudio` was designed to work transparently across all iOS and OSX devices. This means one universal API whether you're building for Mac or iOS. For instance, under the hood an `EZAudioPlot` knows that it will subclass a UIView for iOS or an NSView for OSX and the `EZMicrophone` knows to build on top of the RemoteIO AudioUnit for iOS, but defaults to the system defaults for input and output for OSX.
##Examples & Docs
Within this repo you'll find the examples for iOS and OSX to get you up to speed using each component and plugging them into each other. With just a few lines of code you'll be recording from the microphone, generating audio waveforms, and playing audio files like a boss. See the full Getting Started guide for an interactive look into each of components.
### Example Projects
**_EZAudioCoreGraphicsWaveformExample_**
Shows how to use the `EZMicrophone` and `EZAudioPlot` to visualize the audio data from the microphone in real-time. The waveform can be displayed as a buffer or a rolling waveform plot (traditional waveform look).
**_EZAudioOpenGLWaveformExample_**
Shows how to use the `EZMicrophone` and `EZAudioPlotGL` to visualize the audio data from the microphone in real-time. The drawing is using OpenGL so it is much faster and like the first example can display a buffer or rolling waveform.
**_EZAudioPlayFileExample_**
Shows how to use the `EZAudioFile`, `EZOutput`, and `EZAudioPlotGL` to playback, pause, and seek through an audio file while displaying its waveform as a buffer or a rolling waveform plot.
**_EZAudioRecordWaveformExample_**
Shows how to use the `EZMicrophone`, `EZRecorder`, and `EZAudioPlotGL` to record the audio from the microphone input to a file while displaying the audio waveform of the incoming data. You can then playback the newly recorded audio file using AVFoundation and keep adding more audio data to the tail of the file.
**_EZAudioWaveformFromFileExample_**
Shows how to use the `EZAudioFile` and `EZAudioPlot` to display the audio waveform an entire audio file.
**_EZAudioPassThroughExample_**
Shows how to use the `EZMicrophone`, `EZOutput`, and the `EZAudioPlotGL` to pass the microphone input to the output for playback while displaying the audio waveform (as a buffer or rolling plot) in real-time.
**_EZAudioFFTExample_**
Shows how to calculate the real-time FFT of the audio data coming from the `EZMicrophone` and the Accelerate framework. The audio data is plotted using the `EZAudioPlotGL` for the time domain plot and the `EZAudioPlot` for the frequency domain plot.
![alt text](https://s3-us-west-1.amazonaws.com/ezaudio-media/fftMacExample.png)
### Documentation
The official documentation for EZAudio can be found here: http://cocoadocs.org/docsets/EZAudio/0.0.5/
<br>You can also generate the docset yourself using appledocs by running the appledocs on the EZAudio source folder.
##Getting Started
*To see the full project page, interactive Getting Started guide, and Documentation go here:*
http://syedharisali.com/projects/EZAudio/getting-started
To begin using `EZAudio` you must first make sure you have the proper build requirements and frameworks. Below you'll find explanations of each component and code snippets to show how to use each to perform common tasks like getting microphone data, updating audio waveform plots, reading/seeking through audio files, and performing playback.
###Build Requirements
**iOS**
- 6.0+
**OSX**
- 10.8+
###Frameworks
**iOS**
- AudioToolbox
- AVFoundation
- GLKit
**OSX**
- AudioToolbox
- AudioUnit
- CoreAudio
- QuartzCore
- OpenGL
- GLKit
###Adding To Project
You can add EZAudio to your project in a few ways: <br><br>1.) The easiest way to use EZAudio is via <a href="http://cocoapods.org/", target="_blank">Cocoapods</a>. Simply add EZAudio to your <a href="http://guides.cocoapods.org/using/the-podfile.html", target="_blank">Podfile</a> like so:
`
pod 'EZAudio', '~> 0.0.6'
`
2.) Alternatively, you could clone or fork this repo and just drag and drop the source into your project.
*For more information see main project page:*
http://syedharisali.com/projects/EZAudio/getting-started
##Core Components
`EZAudio` currently offers four components that encompass a wide range of audio functionality. In addition to the functional aspects of these components such as pulling audio data, reading/writing from files, and performing playback they also take special care to hook into the interface components to allow developers to display visual feedback (see the Interface Components below).
###<a name="EZAudioFile"></a>EZAudioFile
Provides simple read/seek operations, pulls waveform amplitude data, and provides the `EZAudioFileDelegate` to notify of any read/seek action occuring on the `EZAudioFile`.
**_Relevant Example Projects_**
- EZAudioPlayFileExample (iOS)
- EZAudioPlayFileExample (OSX)
- EZAudioWaveformFromFileExample (iOS)
- EZAudioWaveformFromFileExample (OSX)
####Opening An Audio File
To open an audio file create a new instance of the `EZAudioFile` class.
```objectivec
// Declare the EZAudioFile as a strong property
@property (nonatomic,strong) EZAudioFile *audioFile;
...
// Initialize the EZAudioFile instance and assign it a delegate to receive the read/seek callbacks
self.audioFile = [EZAudioFile audioFileWithURL:[NSURL fileURLWithPath:@"/path/to/your/file"]
andDelegate:self];
```
####Getting Waveform Data
There is a `getWaveformDataWithCompletionBlock:` method to allow you to easily and asynchronously get the waveform amplitude data that will best represent the whole audio file (will calculate the best fit that's constrainted to ~2048 data points)
```objectivec
// Get the waveform data from the audio file asynchronously
[audioFile getWaveformDataWithCompletionBlock:^(float *waveformData, UInt32 length) {
// Update the audio plot with the waveform data (use the EZPlotTypeBuffer in this case)
self.audioPlot.plotType = EZPlotTypeBuffer;
[self.audioPlot updateBuffer:waveformData withBufferSize:le
没有合适的资源?快使用搜索试试~ 我知道了~
iOS EAAudio音频波形图
共299个文件
m:69个
h:42个
plist:35个
4星 · 超过85%的资源 需积分: 37 103 下载量 67 浏览量
2014-12-19
12:18:34
上传
评论 1
收藏 3.73MB ZIP 举报
温馨提示
ios 各种波形图 录音波形 播放波形
资源推荐
资源详情
资源评论
收起资源包目录
iOS EAAudio音频波形图 (299个子文件)
TPCircularBuffer.c 5KB
CHANGELOG 3KB
.DS_Store 12KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
EZAudioPlayer.h 15KB
EZMicrophone.h 14KB
EZAudioFile.h 12KB
EZAudio.h 11KB
EZAudioPlotGL.h 9KB
EZOutput.h 9KB
TPCircularBuffer.h 6KB
EZRecorder.h 6KB
EZAudioPlotGLKViewController.h 6KB
EZPlot.h 6KB
AEFloatConverter.h 5KB
EZAudioPlot.h 3KB
PlayFileViewController.h 3KB
RecordViewController.h 3KB
CoreGraphicsWaveformViewController.h 2KB
WaveformFromFileViewController.h 2KB
OpenGLWaveformViewController.h 2KB
PassThroughViewController.h 2KB
PassThroughViewController.h 2KB
FFTViewController.h 2KB
FFTViewController.h 2KB
PlayFileViewController.h 2KB
RecordViewController.h 2KB
AppDelegate.h 2KB
AppDelegate.h 2KB
AppDelegate.h 2KB
AppDelegate.h 2KB
AppDelegate.h 2KB
AppDelegate.h 1KB
AppDelegate.h 1KB
AppDelegate.h 1KB
AppDelegate.h 1KB
CoreGraphicsWaveformViewController.h 1KB
OpenGLWaveformViewController.h 1KB
WaveformFromFileViewController.h 1024B
CoreGraphicsWaveformViewController.h 995B
AppDelegate.h 311B
AppDelegate.h 307B
AppDelegate.h 305B
AppDelegate.h 299B
AppDelegate.h 297B
ViewController.h 240B
Contents.json 1KB
Contents.json 1KB
Contents.json 1KB
Contents.json 1KB
Contents.json 1KB
Contents.json 1KB
Contents.json 1KB
Contents.json 903B
Contents.json 903B
Contents.json 903B
Contents.json 903B
Contents.json 903B
Contents.json 903B
Contents.json 903B
Contents.json 825B
Contents.json 825B
Contents.json 825B
Contents.json 825B
Contents.json 825B
Contents.json 825B
Contents.json 825B
LICENSE 1KB
EZMicrophone.m 24KB
EZAudioPlotGL.m 23KB
EZAudioPlotGLKViewController.m 14KB
EZOutput.m 13KB
EZAudio.m 13KB
EZAudioFile.m 12KB
AEFloatConverter.m 9KB
EZAudioPlayer.m 9KB
PlayFileViewController.m 9KB
EZAudioPlot.m 8KB
RecordViewController.m 8KB
RecordViewController.m 8KB
EZRecorder.m 7KB
CoreGraphicsWaveformViewController.m 6KB
OpenGLWaveformViewController.m 6KB
FFTViewController.m 6KB
PlayFileViewController.m 5KB
PassThroughViewController.m 5KB
FFTViewController.m 5KB
WaveformFromFileViewController.m 5KB
CoreGraphicsWaveformViewController.m 5KB
OpenGLWaveformViewController.m 5KB
PassThroughViewController.m 5KB
AppDelegate.m 4KB
AppDelegate.m 3KB
AppDelegate.m 2KB
AppDelegate.m 2KB
共 299 条
- 1
- 2
- 3
liyebiao1990
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页