相关疑难解决方法(0)

使用 AudioKit 在 iOS 中绘制 MIDI 事件

我想创建一个 MIDI 文件的图形表示。我在我的应用程序中使用 AudioKit 来满足我的音频处理需求。

我正在使用 AKSequencer 加载 MIDI,并使用 AKMIDISampler 将 WAV 文件添加到序列中。

有没有办法做一些类似于 GarageBand 中的视图,您可以使用 AudioKit 在图形表示中看到音符?

WAV 部分对此并不重要。我只是希望能够绘制 MIDI 文件的内容。

谢谢!

ios audiokit

5
推荐指数
1
解决办法
295
查看次数

AudioKit iOS - receivedMIDINoteOn函数

我正在尝试使用receivedMIDINoteOn函数在音序器播放音符时闪烁UILabel.我尝试过使用AKMIDIListener协议但没有成功.我还制作了一个AKMIDISampler子类,并从音序器发送midi.它播放midi但未调用receivedMIDINoteOn.

这就是我在指挥的init()中所拥有的:

init() {

    [ahSampler, beeSampler, gooSampler,flasher] >>> samplerMixer
    AudioKit.output = samplerMixer
    AudioKit.start()



    let midi = AKMIDI()
    midi.createVirtualPorts()
    midi.openInput("Session 1")
    midi.addListener(self)
}
Run Code Online (Sandbox Code Playgroud)

导体遵循AKMIDIListener协议

这是功能:永远不会被调用

func receivedMIDINoteOn(noteNumber: MIDINoteNumber, velocity: MIDIVelocity, channel: MIDIChannel)
{
    print("got it")
}
Run Code Online (Sandbox Code Playgroud)

这是AKMIDISampler的子类,它获得midi并播放正弦合成器,但是从不调用receivedMIDINoteOn.

class Flasher: AKMIDISampler
{
    override func receivedMIDINoteOn(noteNumber: MIDINoteNumber, velocity:    MIDIVelocity, channel: MIDIChannel)
    {
        print("Flasher got it!")
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:我应该使用AKCallbackInstrument类,并覆盖它的start()函数.

midi ios swift audiokit

2
推荐指数
1
解决办法
648
查看次数

标签 统计

audiokit ×2

ios ×2

midi ×1

swift ×1