从任何音乐文件生成波形ios

我正在寻找如何根据音乐来绘制声波。

我想像这个形象的波。 在这里输入图像说明

这里是关于从音乐中显示Wave的一些讨论

  1. IOS上的WaveForm
  2. 在iPhone上呈现波形
  3. 与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