我一直在使用MusicPlayer
和MusicSequence
类来播放MIDI文件。但是,我想知道如何为不同的频道指定乐器。 MusicPlayer
对程序更改事件的默认响应是什么?我可以告诉MusicPlayer
某些采样器使用某些采样器吗?或者是将我自己的功能设置为MIDI端点,然后使用MusicDeviceMIDIEvent()
自行处理音符播放以指定采样器的唯一方法?
答案 0 :(得分:0)
您可以为MusicSequence中的不同曲目指定不同的乐器。 (MusicTrack API)我认为MusicPlayer不会对频道本身做任何事情。您可以指定在加载MIDI文件时将频道转换为曲目。
音乐序列加载标志
用于配置MusicSequenceFileLoad和的行为的标志 MusicSequenceFileLoadData函数。
enum {kMusicSequenceLoadSMF_ChannelsToTracks =(1<< 0)};的typedef UInt32 MusicSequenceLoadFlags;
常量
kMusicSequenceLoadSMF_ChannelsToTracks
If this flag is set the resultant Sequence will contain a tempo track, 1 track for each MIDI Channel that is found in the SMF, 1 track
用于SysEx或MetaEvents - 这将是最后一首曲目 LoadSMFWithFlags调用后的序列。
Available in OS X v10.3 and later. Declared in MusicPlayer.h.