Ich versuche mit Swift auf AVAudioPCMBuffer.floatChannelData
zuzugreifen, aber es ist vom Typ UnsafePointer<UnsafePointer<CFloat>>
(in Objective-C, @property(nonatomic, readonly) float *const *floatChannelData
) und jeder Versuch, den ich mache, um darauf zuzugreifen, führt zur Ausführung fehlgeschlagen.Von UnsafePointer <UnsafePointer <CFloat>> zu einem Array von Schwimmern in Swift?
Beispielcode eine schnelle AVAudioPCMBuffer in einem Swift Spielplatz Set-up ist in einer früheren Frage enthalten:
Getting AVAudioPCMBuffer working (AVAudioFile.mm error code -50)
mehr darüber finden Nope: Ich bekomme einen „fatalen Fehler: Kann nicht auspacken Optional. Keine Spielplatz Ausführung fehlgeschlagen: Fehler: Die Ausführung wurde unterbrochen, Grund: EXC_BAD_INSTRUCTION (Code = EXC_I386_INVOP, Subcode = 0x0). – Matthew
Ich bekomme diesen Fehler mit der Zeile "let channels = ...". Der '' Int (myAudioBuffer.format.channelCount) '' Teil wird jedoch korrekt ausgewertet. – Matthew
Update: Das funktioniert! Danke dafür. Es verursacht einen Absturz in einem Swift Playground, funktioniert aber in-App. – Matthew