Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Audiokit MIDI初始化令人困惑_Ios_Swift_Core Audio_Coremidi_Audiokit - Fatal编程技术网

Ios Audiokit MIDI初始化令人困惑

Ios Audiokit MIDI初始化令人困惑,ios,swift,core-audio,coremidi,audiokit,Ios,Swift,Core Audio,Coremidi,Audiokit,CoreMIDI术语已经非常混乱,文档记录也很糟糕,而Audiokit并没有像我希望的那样提供帮助 据我所知,每个应用程序都应该有一个midi客户端引用的实例(MIDIClientRef)。Audiokit有一个AKMIDI类,该类为每个AKMIDI实例创建一个新的客户端引用,并在左侧、右侧和中间创建实例(包括每个AKMIDIInstrument、AKCallbackInstrument和AKMIDISampler实例的初始化)。所有这些都会在其内置构造函数中创建具有硬编码名称的端点,因此我不知

CoreMIDI术语已经非常混乱,文档记录也很糟糕,而Audiokit并没有像我希望的那样提供帮助

据我所知,每个应用程序都应该有一个midi客户端引用的实例(
MIDIClientRef
)。Audiokit有一个
AKMIDI
类,该类为每个
AKMIDI
实例创建一个新的客户端引用,并在左侧、右侧和中间创建实例(包括每个
AKMIDIInstrument
AKCallbackInstrument
AKMIDISampler
实例的初始化)。所有这些都会在其内置构造函数中创建具有硬编码名称的端点,因此我不知道如何创建具有专有名称的端点

价格最高的是Akmidispler,其来源首先说明:

/// Initialize the MIDI Sampler
public override init() {
    super.init()
    enableMIDI()
}
然后在以下几行:

/// Enable MIDI input from a given MIDI client
/// This is not in the init function because it must be called AFTER you start AudioKit
///
/// [snipped parameter comments for brevity]
open func enableMIDI(_ midiClient: MIDIClientRef = AKMIDI().client, name: String = "MIDI Sampler")
(请注意,它在init函数中为


我非常乐意听到一些关于一般使用指南的澄清(我需要覆盖所有内容吗?)或指向文档/文章的链接来更详细地解释这一点。

我们刚刚用#1141 PR解决了这个问题。

在下一版本之前,您可以指向podfile上的development分支

pod 'AudioKit', :git => 'https://github.com/AudioKit/AudioKit.git', :branch => 'develop'

您的PR似乎解决了命名问题,并且开发分支还进行了其他改进,以解决midi客户机ref问题,因此我将此标记为可接受的答案。这些文件仍然具有误导性。我可以接受,但是把这个评论留给任何可能发现这个问题的人。