我一直在阅读文档,寻找答案。我看到AudioKit可以在录制或播放时实时绘制波形,但我想知道你是否可以加载文件并完全绘制波形,这样我就可以看到整个文件的波形而无需回放。
非常感谢任何帮助。甚至只是指向我应该查看的对象的指针。
答案 0 :(得分:6)
您还可以使用AudioKitUI中的Objective C EZAudioPlot类:
let file = EZAudioFile(url: url)
guard let data = file?.getWaveformData() else { return }
let waveform = EZAudioPlot()
addSubview( waveform )
waveform.frame = NSMakeRect(0, 0, 200, 20)
waveform.plotType = EZPlotType.buffer
waveform.shouldFill = true
waveform.shouldMirror = true
waveform.color = NSColor.black
waveform.updateBuffer( data.buffers[0], withBufferSize: data.bufferSize )
我没有对这两种方法进行基准测试,但是对于较长的文件,情节版本非常快。对于立体声文件,使用缓冲区[0]和[1]
制作两个堆叠图答案 1 :(得分:2)
在这里的表操场示例中绘制了一个波形:http://audiokit.io/playgrounds/Basics/Tables/
基本上:
let file = try AKAudioFile(readFileName: "drumloop.wav")
let fileTable = AKTable(file: file)
...UI set up...
addView(AKTableView(fileTable))
答案 2 :(得分:0)
无法让AKTableView正常工作。 EZAudioPlot运作良好。