间歇性AKMIDISampler崩溃

时间:2018-03-01 15:28:05

标签: swift xcode crash midi audiokit

此项目在播放循环中使用多个AKMIDISamplers,在此期间频繁更改音高和音频文件。一切都像魅力一样。然而,在看似完整的随机间隔(分钟)之后,Xcode会进入调试器:

Thread 13: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

function signature specialization <Arg[1] = Dead> of AudioKit.AKMIDIEvent.init(packet: __C.MIDIPacket) -> AudioKit.AKMIDIEvent

0 specialized AKMIDIEvent.init(packet:)
1 specialized closure #1 in AKMIDISampler.enableMIDI(_:name:)

这是初始化代码:

let sampler = AKMIDISampler()
  do {
    if let audioFile = try AKAudioFile(readFileName: filePath) as AKAudioFile! {
      try sampler.loadAudioFile(audioFile)
    }
  } catch { print("audio file error: \(error)") }

没有使用AKMIDISampler的MIDI功能,即没有收听MIDI事件或发送任何MIDI事件。故意造成此崩溃的唯一方法是暂停AKMIDISampler附加的序列器一段时间。这是AudioKit 4.0.4。

0 个答案:

没有答案