从任何音乐文件生成波形ios
我正在寻找如何根据音乐来绘制声波。
我想像这个形象的波。
这里是关于从音乐中显示Wave的一些讨论
- IOS上的WaveForm
- 在iPhone上呈现波形
- 与iPhoneaudio波形可视化
Github示例链接
- https://github.com/gyetvan-andras/cocoa-waveform
- https://github.com/benalavi/waveform
- https://github.com/JingWZ/WaveView
- https://github.com/gyetvan-andras/cocoa-waveform
- https://github.com/ioslovers/ATTabandHoldAudioRecord
- https://github.com/hezone/ECGWavesPlayer
- https://github.com/iluvcapra/JHWaveform
但对这种types的wavefrom没有任何想法,是否有可能像这样的图像画波? ?
您可以参考此链接绘图波形与AVAssetReader,并可以改变生成图像代码。
免责声明:很多这个都是通过反复试验发现的,在这里我可能会有一些严重的假设:
您将需要使用AudioUnits框架。 初始化播放时,您可以创build一个AURenderCallbackStruct。 你可以在这个结构中指定一个回放callback函数,它提供了一些包含你需要的信息的参数。
callback函数将具有这样的签名:
static OSStatus recordingCallback (void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData)
在这里有一组audio数据可用于获取每个频点的audio缓冲区的幅度,或者用于计算频点的DB值。
我不知道这个图表显示的是什么,但是在我看来,像是每个样本箱幅度的平滑显示。
audio单元并不简单,但它的价值玩了一段时间,直到你得到一个抓地力。
这里是我的callback函数的骨架,所以你对我的意思有更多的了解:
编辑:删除死链接,我失去了这段代码对不起
我也一直在过去三个月真诚地尝试,但我没有find解决办法。 目前我使用基于歌曲types(静态数据歌曲)的静态图像。 我将图像添加到UIScrollView
并根据audio的当前位置更改contentOffset
。