初始化AKAudioFile会产生malloc错误

时间:2017-07-20 15:52:51

标签: ios xcode swift3 audiokit

我正在成功录制音频文件并为其添加过滤器。这是使用AudioKit框架

完成的

以下代码是关于播放过滤后的音频

                let audioFilename = self.getDocumentsDirectory().appendingPathComponent(self.storedFileToPlay!)
                var audioFile : AKAudioFile? = nil
                do {

                    if (audioFile == nil)
                    {
                        audioFile = try AKAudioFile.init(forReading: audioFilename)
                    }


                }catch{
                    print (error)
                }
              guard audioFile != nil else {return}
                if (player == nil)
                {
                    player = try AKAudioPlayer(file: audioFile!)
                }
                else
                {
                    try player?.replace(file: audioFile!)
                }

                player?.looping = false

                let timePitch = AKTimePitch(player)
                timePitch.pitch = 800.0


                AudioKit.output = timePitch

                AudioKit.start()

                player?.play()

                player?.completionHandler = {

                    self.player?.stop()
                    audioFile = nil
                    self.player = nil

                }

这可以正常工作一次,但第二次调用此函数我得到malloc:***错误对象0x14db7a60:正在释放的指针没有在audioFile初始化时分配错误。

我一直在调查但是徒劳无功。

有趣的是,如果我在捆绑包中使用静态m4a文件,它会一直反复播放而不会崩溃。

此外,在设备中发生了崩溃,但在模拟器中没有发生,这很令人恼火。

这个问题在哪里引起?

0 个答案:

没有答案