Обновление графика AudioKit с использованием буфера AKAudioFile и отображение полного сигнала

У меня есть сюжет

self.plot = EZAudioPlot()
self.plot?.frame = CGRect(x:0, y:0, width:Int(self.plotWidth!), height:Int(self.plotOutlet!.bounds.height))
self.plot?.plotType = EZPlotType.buffer
self.plot?.shouldFill = true
self.plot?.shouldMirror = true
self.plot?.shouldOptimizeForRealtimePlot = true
self.plot?.color = UIColor.white
self.plot?.backgroundColor = UIColor(red:0,green:0,blue:0,alpha:0)
self.plot?.gain = 1
self.plotOutlet?.addSubview(self.plot!)

и я хочу обновить его через буфер, скопированный из AKAudioFile:

self.plot?.updateBuffer(file.pcmBuffer.floatChannelData![0], withBufferSize: file.pcmBuffer.frameLength)

Это говорит: pcmBuffer: 265: ошибка не может прочитать IntBuffer

Я попробовал другой метод, сначала преобразовав буфер в EZAudioFloatData, но я не могу получить правильное приведение типов:

let data = EZAudioFloatData(numberOfChannels: 2, buffers: file.pcmBuffer.floatChannelData, bufferSize: file.pcmBuffer.frameLength)

Инспектор говорит: " Невозможно преобразовать значение типа" UnsafePointer >? " к ожидаемому типу аргумента 'UnsafeMutablePointer ? >! '

Что я делаю неправильно? Кстати: я знаю, что могу загрузить WAV-файл с помощью EZAudioFile(), а затем получить буфер с помощью.getWaveformData(), но по нескольким причинам я хочу знать, есть ли способ сделать то же самое с помощью AKAudioFile.

0 ответов

Другие вопросы по тегам