Ich versuche zu Swift 3 Syntax, um den folgenden Code zu konvertieren:Swift 3 Guss Ausgabe mit UnsafeMutableRawPointer - Audioqueue
fileprivate func generateTone(_ buffer: AudioQueueBufferRef) {
if noteAmplitude == 0 {
memset(buffer.pointee.mAudioData, 0, Int(buffer.pointee.mAudioDataBytesCapacity))
} else {
let count: Int = Int(buffer.pointee.mAudioDataBytesCapacity)/MemoryLayout<Float32>.size
var x: Double = 0
var y: Double = 0
let audioData = UnsafeMutablePointer<Float32>(buffer.pointee.mAudioData)
for frame in 0..<count {
x = noteFrame * noteFrequency/kSampleRate
y = sin (x * 2.0 * M_PI) * noteAmplitude
audioData[frame] = Float32(y)
noteAmplitude -= noteDecay
if noteAmplitude < 0.0 {
noteAmplitude = 0
}
noteFrame += 1
}
}
buffer.pointee.mAudioDataByteSize = buffer.pointee.mAudioDataBytesCapacity
}
Ich bin fest mit:
let audioData = UnsafeMutablePointer<Float32>(buffer.pointee.mAudioData)
Xcode klagt:
Kann Initialisierer für den Typ 'UnsafeMutablePointer' mit einer Argumentliste vom Typ '(UnsafeMutableRawPointer) nicht aufrufen'
Das Projekt zur Verfügung steht bei here
Jede Hilfe sehr geschätzt :)
Ja, es ist jetzt ziemlich einfach für mich. Danke Martin! –