ios - AudioKit 4.0.1 - 类型 'AKSequencer' 的值没有成员 'avTracks'

标签 ios swift audiokit

我的应用程序在最近升级 AudioKit 后停止工作从 3.7.1 到 4.0.1。

这是我的代码:

    sequencer = AKSequencer(filename: myMidi)

    for i in 0..<popCount {

        //start Audio
        sequencer!.avTracks[i].destinationAudioUnit = gPOPs[i].samplePlayer.samplerUnit          
    }

这是我收到的错误消息:

Value of type 'AKSequencer' has no member 'avTracks'

只是想知道是否有人可以帮助我了解发生了什么变化以及如何修复它。

编辑
还尝试过:

sequencer!.tracks[i].destinationAudioUnit = gPOPs[i].samplePlayer.samplerUnit

现在收到此错误消息:

Value of type 'AKMusicTrack' has no member 'destinationAudioUnit'

并尝试过:

sequencer!.tracks[i].internalMusicTrack = gPOPs[i].samplePlayer.samplerUnit

出现以下错误:

Cannot assign value of type 'AVAudioUnitSampler' to type 'MusicTrack?' (aka 'Optional<OpaquePointer>')

最佳答案

感谢 Aure 的意见,这帮助我找到了解决这个问题的方法。就像this post on Google Groups一样。特别是迈克尔·希尔的最后评论。

这是我的方法的更新(经过编辑和简化以仅显示必要的部分):

var MIDISamplePlayer = AKMIDISampler()
var sequencer: AKSequencer?
var mixer: AKMixer!

// initialise the mixer
mixer = AKMixer()

do  {
        audiofile = try AKAudioFile(readFileName: SoundFilename as! String, 
        baseDir: .resources)
    } catch let error as NSError {
        print("There's an error: \(error)")
    }

do {
       try sprite.MIDISamplePlayer.loadAudioFile(audiofile)
    } catch let error as NSError {
       print("There's an error: \(error)")
    }

sprite.tracker = AKAmplitudeTracker(sprite.MIDISamplePlayer)
mixer.connect(to:sprite.tracker, bus: mixer.nextInput.bus)

sequencer = AKSequencer(filename: POPmidi)
sequencer?.enableLooping()

let midi = AKMIDI()

for i in 0..<popCount {
    gPOPs[i].MIDISamplePlayer.enableMIDI(midi.client, name: "MIDISample_\(i)")
    mixer.connect(gPOPs[i].MIDISamplePlayer)
    sequencer!.tracks[i].setMIDIOutput(gPOPs[i].MIDISamplePlayer.midiIn)
}

AudioKit.start()
sequencer!.play()

现在一切正常,但我一直在播放神秘的正弦波音调。我找不到它的来源?任何有关调试的帮助都将是救星!谢谢

关于ios - AudioKit 4.0.1 - 类型 'AKSequencer' 的值没有成员 'avTracks',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46644013/

相关文章:

ios - UISegmented 控件 ObjectAtIndex 替换 swift

swift - 如何仅在 Swift 中将一个 View Controller 的方向锁定为纵向模式

ios - 在 Audiokit 中将 AKBooster 与 AKAmplitudeTracker 结合使用

ios - Xcode 模拟器打开。 Jenkins space 由于音频引擎导致自动化测试崩溃

ios - Cloudkit CKRecordZoneNotification 如何知道是否发生了添加或修改

iphone - 创建 UITextView 全部内容的位图

ios - 在 MFMailComposeViewController 中将“发送和取消”按钮设置为白色背景上的白色以外的其他内容

swift - AKAudioFile 导出异步路径错误

ios - iOS 版 Instagram 框架

swift - 如何查询 iTunes API 以查找特定类型的电影