【问题标题】:Getting Meta events from MusicTrack从 MusicTrack 获取元事件
【发布时间】:2013-06-25 00:31:30
【问题描述】:

我想要音乐曲目中的 MetaEvent 信息。我如何得到它?我对曲目的曲目名称和乐器名称感兴趣。

我看到 MusicTrack 有 newMetaEvent 方法,但不是获取它的方法。这门课程在 Core Audio 和 OS X 中。

谢谢

【问题讨论】:

    标签: macos core-audio coremidi


    【解决方案1】:

    您使用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;
    

    【讨论】:

      猜你喜欢
      • 2014-01-19
      • 2019-01-21
      • 1970-01-01
      • 2023-01-05
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      • 2018-10-25
      • 2021-02-24
      相关资源
      最近更新 更多