AVAudioConverter in iOS gebrochen scheint 10. Der Code wurde in iOS arbeiten 9 und jetztAVAudioConverter ist in iOS gebrochen 10
Fehler Domain = NSOSStatusErrorDomain Code = -50 "(null)"
egal zurückgegeben Welches Audioformat wird verwendet? Es überrascht mich jedes Jahr, dass grundlegende Bibliotheksfunktionen nicht mehr funktionieren.
func audioConverterFailureIOS10() {
// Describe the audio format
let inFormat = AVAudioFormat(standardFormatWithSampleRate: 44100, channels: 2)
let outFormat = AVAudioFormat(standardFormatWithSampleRate: 22050, channels: 2)
// Allocate buffers
let outBuffer = AVAudioPCMBuffer(pcmFormat: outFormat, frameCapacity: 1024)
// Create an input block that is called when the converter needs input
let inputBlock : AVAudioConverterInputBlock = { (inNumPackets, outStatus) -> AVAudioBuffer? in
// Fails before entering here
return nil
}
// Create the audio converter
let converter = AVAudioConverter(from: inFormat, to: outFormat)
var error : NSError?
_ = converter.convert(to: outBuffer, error: &error, withInputFrom: inputBlock)
// Error Domain=NSOSStatusErrorDomain Code=-50 "(null)"
print(error)
}
Wow behandelt. Funktionieren Apps, die mit dem 9.3 SDK erstellt wurden? –
@RhythmicFistman Genau. Ich habe Xcode 7.3 installiert und den exakt gleichen Code (mit Swift 2.x Syntax) gegen das 9.3 SDK ausgeführt und ** es gibt keinen Fehler **. Das "lustige" Ding ist, dass letztes Jahr, als iOS 9 veröffentlicht wurde, ich meinen Code mit AVAudioConverter anstelle der älteren Extended Audio File Services aufgrund von Segmentierungsfehlern in der Apple Lib aktualisierte. Vielleicht haben sie das repariert und stattdessen das andere kaputt gemacht ... – borrel