首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AudioKit AKSequencer在iOS 10上不会循环

AudioKit AKSequencer在iOS 10上不会循环
EN

Stack Overflow用户
提问于 2018-01-09 22:06:48
回答 2查看 244关注 0票数 1

下面的代码在iOS 11中循环播放多个音频文件,但在iOS 10中不能。似乎AKSequencer不能在iOS 10中循环?

代码语言:javascript
复制
let mixer = AKMixer()
var sequencer: AKSequencer = AKSequencer()
sequencer.loadMIDIFile(fromUrl: URL(fileURLWithPath: midiFile))

for index in 0..<sequencer.tracks.count {
    let musicTrack: AKMusicTrack = sequencer.tracks[index]
    let sampler = AKMIDISampler()

    if index < samples.count {
        sampler.loadWavFromAbsolutePath(samples[index])
        sampler.enableMIDI(midi.client, name: "Sampler_\(index)")
        mixer.connect(input: sampler)
    }
    musicTrack.setMIDIOutput(sampler.midiIn)
}

AudioKit.output = mixer
AudioKit.start()
sequencer.enableLooping()
sequencer.play()
EN

回答 2

Stack Overflow用户

发布于 2018-04-29 06:46:09

我只能猜测这可能与iOS 10有什么联系,但我过去遇到过一些问题,即在紧跟在AudioKit.start()之后的its .play()调用中,AKSequencer没有循环。我发现,将.play()调用放在IBAction中或从计时器调用它(延迟100ms左右)可以让它正确地循环。

票数 0
EN

Stack Overflow用户

发布于 2018-06-09 01:02:29

我也遇到过类似的问题,这个问题与AKSequencer属性的作用域有关。

看起来音序器被取消初始化,无法进一步处理MIDI信号。

尝试将var sequencer:AKSequencer = AKSequencer()升级为全局变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48169970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档