【发布时间】:2013-06-25 00:31:30
【问题描述】:
我想要音乐曲目中的 MetaEvent 信息。我如何得到它?我对曲目的曲目名称和乐器名称感兴趣。
我看到 MusicTrack 有 newMetaEvent 方法,但不是获取它的方法。这门课程在 Core Audio 和 OS X 中。
谢谢
【问题讨论】:
标签: macos core-audio coremidi
我想要音乐曲目中的 MetaEvent 信息。我如何得到它?我对曲目的曲目名称和乐器名称感兴趣。
我看到 MusicTrack 有 newMetaEvent 方法,但不是获取它的方法。这门课程在 Core Audio 和 OS X 中。
谢谢
【问题讨论】:
标签: macos core-audio coremidi
您使用MusicEventIterator 遍历跟踪事件,获取 eventInfo 并测试您正在寻找的 eventType。下面的文档中的一些参考。如何使用MusicEventIterator 的示例代码是here.
OSStatus MusicEventIteratorGetEventInfo (
MusicEventIterator inIterator,
MusicTimeStamp *outTimeStamp,
MusicEventType *outEventType,
const void **outEventData,
UInt32 *outEventDataSize
);
音乐事件类型
MIDI 和其他音乐事件类型,由音乐事件迭代器函数使用。
enum {
kMusicEventType_NULL = 0,
kMusicEventType_ExtendedNote,
kMusicEventType_ExtendedTempo,
kMusicEventType_User,
kMusicEventType_Meta,
kMusicEventType_MIDINoteMessage,
kMusicEventType_MIDIChannelMessage,
kMusicEventType_MIDIRawData,
kMusicEventType_Parameter,
kMusicEventType_AUPreset,
};
typedef UInt32 MusicEventType;
【讨论】: