我想要音乐曲目中的MetaEvent信息。我怎么得到它?我对该曲目的曲目名称和乐器名称感兴趣。
我看到MusicTrack有newMetaEvent方法,但没有办法获得它。这个当然是在Core Audio& OS X。
谢谢
答案 0 :(得分:0)
使用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;