gpt4 book ai didi

c++ - 如何在 OSX 上的 C++ 应用程序中播放合成器声音?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:56:18 26 4
gpt4 key购买 nike

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

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

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

最佳答案

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

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

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);

关于c++ - 如何在 OSX 上的 C++ 应用程序中播放合成器声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18282801/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com