簡體   English   中英

如何在OSX上的C ++應用程序中播放合成聲音?

[英]How can I play a synth sound in a C++ app on OSX?

我想在我的應用中播放器樂。 聲音的持續時間很靈活,因此MIDI似乎是最好的解決方案。

我現在正在使用Open Framework。 使用音頻單元,我設法處理了輸入聲音,而不是通過樂器演奏。 我已經在Mac上找到了AUi工具,但是我不知道如何從代碼中訪問它們。 我沒有找到玩通用Midi(內置MIDI樂器)的任何方法。 RTMidi未找到輸出端口。

有沒有人有辦法解決嗎? 謝謝!

我在這個項目中找到了解決方案。

您需要使用音頻單元。 添加具有以下組件描述的節點:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM