我正在寻找如何根据音乐绘制声波。
我想要像这样的图片的波浪
这是一些关于显示音乐中的波浪的讨论
- iOS 上的波形 https://stackoverflow.com/questions/8298610/waveform-on-ios
- 在 iPhone 上渲染波形 https://stackoverflow.com/questions/896194/rendering-a-waveform-on-an-iphone
- 使用 iPhone 进行音频波形可视化 https://stackoverflow.com/questions/4548951/audio-waveform-visualisation-with-iphone
Github 示例链接
- https://github.com/gyetvan-andras/cocoa-waveform https://github.com/gyetvan-andras/cocoa-waveform
- https://github.com/benalavi/waveform https://github.com/benalavi/waveform
- https://github.com/JingWZ/WaveView https://github.com/JingWZ/WaveView
- https://github.com/gyetvan-andras/cocoa-waveform https://github.com/gyetvan-andras/cocoa-waveform
- https://github.com/ioslovers/ATTabandHoldAudioRecord https://github.com/ioslovers/ATTabandHoldAudioRecord
- https://github.com/hezone/ECGWavesPlayer https://github.com/hezone/ECGWavesPlayer
- https://github.com/iluvcapra/JHWaveform https://github.com/iluvcapra/JHWaveform
但不知道这种类型的波形,是否可以画出像这样的波形?
免责声明:其中很多内容都是通过反复试验发现的,我在这里可能有一些严重的错误假设:
您需要使用 AudioUnits 框架。初始化播放时,您可以创建一个 AURenderCallbackStruct。您可以在此结构中指定一个播放回调函数,该函数为您提供一些参数,其中包含您需要的信息。
回调函数将具有如下签名:
static OSStatus recordingCallback (void *inRefCon,
AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData)
这里有一个音频数据数组,可用于获取每个频率仓的音频缓冲区的幅度,或用于计算频率仓的 DB 值。
我不知道该图显示什么,但在我看来,它就像每个样本箱幅度的平滑显示。
音频单元并不简单,但值得尝试一段时间,直到您掌握为止。
这是我的回调函数的框架,以便您更好地理解我的意思:
编辑:删除了死链接,抱歉我丢失了此代码
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)