首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >#AudioKit Play sequencer mp3

#AudioKit Play sequencer mp3
EN

Stack Overflow用户
提问于 2018-06-12 14:56:56
回答 1查看 211关注 0票数 1

我正在尝试用mp3库播放一个音频列表。我读过关于测序器的文章,并且在官方AudioKit文档的例子中看到了所有的代码。在调用方法sequencer.play()后,没有声音。

代码语言:javascript
复制
  var audios:[String] = [
         "/Users/rubenpalma/Documents/mp3/hola.mp3",
         "/Users/rubenpalma/Documents/mp3/prueba.mp3",
         "/Users/rubenpalma/Documents/mp3/mundo.mp3",
         "/Users/rubenpalma/Documents/mp3/test.mp3",
         "/Users/rubenpalma/Documents/mp3/hi.mp3",
         "/Users/rubenpalma/Documents/mp3/adios.mp3"
         ]


        var path = playAudios(background: back, audiosPath: audios)

func playAudios(background:String,audiosPath:[String]) -> String {

    var durationBackground = 0.00
    let midi = AKMIDI()
    let sequencer = AKSequencer()
    let mixer = AKMixer()
    do{
        var i = 0
        for path in audiosPath {
            let fileAudioURL = NSURL(fileURLWithPath: path)
            if let audio = try? AKAudioFile(forReading: fileAudioURL as URL) {
                print("\(path) size:\(audio.duration)")
                let sampler = AKMIDISampler()
                try sampler.loadAudioFile(audio)
                sampler.enableMIDI(midi.client, name: "Sampler_\(i)")

                mixer.connect(input: sampler)

                let track = sequencer.newTrack("t_\(i)")
                track?.setMIDIOutput(sampler.midiIn)
                track?.add(noteNumber: MIDINoteNumber(i), velocity: 127, position: AKDuration(beats:Double(0)), duration: AKDuration(beats:audio.duration*2), channel:1)
                print("is empty? \(track!.isEmpty)")

                durationBackground += audio.duration
                i += 1
            }
        }
        AudioKit.output = mixer
        try AudioKit.start()
        sequencer.play()

        print("playing.. \(sequencer.isPlaying) ")
    }catch{
        print("Unexpected non-vending-machine-related error: \(error)")
    }
    return "duration  \(durationBackground)"
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-13 15:46:48

AKSequencer将播放midi文件。若要播放mp3文件,请使用AKPlayer http://audiokit.io/docs/Classes/AKPlayer.html

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

https://stackoverflow.com/questions/50820210

复制
相关文章

相似问题

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