2

我想在我的应用程序中播放器乐声音。声音的持续时间是灵活的,所以 MIDI 似乎是最好的解决方案。

我现在正在使用开放框架。使用音频单元,我设法处理输入声音,而不是通过乐器演奏。我在我的 Mac 上找到了 AUi 工具,但我不知道如何从我的代码中访问它们。我没有找到任何演奏 General Midi(内置 MIDI 乐器)的方法。没有找到 RTMidi 的输出端口。

有没有人有办法解决吗?谢谢!

4

1 回答 1

0

我在这个项目中找到了解决方案。

您需要使用音频单元。添加具有此组件描述的节点:

description.componentType           = kAudioUnitType_MusicDevice;
description.componentSubType        = kAudioUnitSubType_DLSSynth;
description.componentManufacturer   = kAudioUnitManufacturer_Apple;
description.componentFlags          = 0;
description.componentFlagsMask      = 0;
AUGraphAddNode (graph, &description, &synthNode);

打开并初始化您的音频单元并像这样播放音符:

MusicDeviceMIDIEvent (synthUnit, channel, note, velocity, 0);
于 2014-01-22T19:04:05.547 回答