Я использую следующий код:
audioBuff.audioBuffer.floatChannelData![0].withMemoryRebound(to: DSPComplex.self, capacity: bufferSizePOT / 2) {dspComplexStream in
vDSP_ctoz(dspComplexStream, 2, &output, 1, UInt(bufferSizePOT / 2))
}
Я хотел бы перейти к некоторым другим примерам, делая это:
audioBuff.audioBuffer.floatChannelData![1024].withMemoryRebound(to: DSPComplex.self, capacity: bufferSizePOT / 2) {dspComplexStream in
vDSP_ctoz(dspComplexStream, 2, &output, 1, UInt(bufferSizePOT / 2))
}
, когда у меня есть EXC_BAD_ACCESS (code = 1, address = 0x0) кто-нибудь может объяснить, как правильно его использовать?
Я использовал .withMemoryRebound, потому что я сначала попытался:
vDSP_ctoz(audioBuff.audioBuffer.floatChannelData!, 2, &output, 1, UInt(bufferSizePOT / 2))
, что дало мне ошибку: не удалось преобразоватьзначение типа «UnsafePointer>» к ожидаемому типу аргумента «UnsafePointer»
, что я хотел бы сделать, это перейти в audioBuff.audioBuffer.floatChannelData!кусками делать БПФ