0

file .midを再生しているときに、メタ歌詞のバイトを取得していますが、このバイトからメタ歌詞を取得する方法がわかりません。誰かが私にこれを行う方法を手伝ってくれる?すべてのコメントをありがとう。

void MyMIDIReadProc(const MIDIPacketList *pktlist, void *refCon, void *connRefCon) {

MIDIPacket *packet = (MIDIPacket *)pktlist->packet;

for (int i=0; i < pktlist->numPackets; i++) {
    Byte midiStatus = packet->data[4];
    Byte midiCommand = midiStatus >> 4;
    if (midiCommand == 0x05){
        NSLog(@"meta event 0x%x",midiCommand1);
        //how to get meta text here?
    }
}
4

1 に答える 1

0

ここでMIDIを少し間違って解析していると思います。仕様の概要については、次のリンクを参照してください。

http://www.sonicspot.com/guide/midifiles.html

とにかく、MIDI 歌詞イベントは技術的には MIDI メタ イベントです (質問のタイトルが既に知っていることを示しているため)。したがって、ステータス コードは で、その後0xFFのバイトは になります。その後のバイトは、文字列の長さ (バイト単位) を示します。0x05

于 2012-08-06T13:18:07.540 に答える