AVAudioConverter आईओएस से 10 में टूट गया लगता कोड आईओएस 9 में काम कर रहा था और अबAVAudioConverter आईओएस में टूट गया है 10
त्रुटि डोमेन = NSOSStatusErrorDomain कोड = -50 "(शून्य)"
दिया जाता है कोई फर्क नहीं पड़ता क्या ऑडियो प्रारूप का उपयोग किया जाता है। यह हर साल मुझे suprises, कि बुनियादी पुस्तकालय कार्यक्षमता काम करना बंद कर देता है।
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)
}
वाह पर अलग-अलग इलाज किया जाता है। 9.3 एसडीके काम के खिलाफ बनाया गया ऐप्स? –
@ रिथमिक फिस्टमैन बिल्कुल। मैंने एक्सकोड 7.3 स्थापित किया और 9.3 एसडीके के खिलाफ सटीक उसी कोड (स्विफ्ट 2.x सिंटैक्स के साथ) चलाया और ** कोई त्रुटि नहीं है **। "हास्यास्पद" बात यह है कि, पिछले साल जब आईओएस 9 जारी किया गया था, मैंने ऐप्पल लिब के अंदर सेगमेंटेशन दोषों के कारण पुरानी विस्तारित ऑडियो फाइल सेवाओं के बजाय AVAudioConverter का उपयोग करके अपना कोड अपडेट किया। शायद उन्होंने इसे ठीक कर दिया है और इसके बजाय दूसरे को तोड़ दिया है ... – borrel