2015-12-11 46 views
-1

我已经试过了android-midi-lib提供的获取midi事件的示例,并且我想要获取NoteOn事件中每个音符的音高,但似乎结果不是我想要的。而且我无法弄清楚LogCat中已经返回了哪些信息。如何使用android-midi-lib从midi文件获取注释?

我不知道XXXX (YY): NoteOn是什么信息。分析的MIDI文件是'玛丽有一只小羊羔',所以我认为XXXX或YY都不会成为这个音符。这是返回的信息。请帮忙,谢谢!

更新:XXXX (YY): NoteOn不是关于音符的音调,我发现返回信息中的数字25表示1/4节拍。而一对XXXX(455)和XXXX(25)代表一个音符。后面的XXXX与前一个XXXX有算术关系,但我仍然不知道XXXX代表什么。

12-11 23:21:22.947: I/System.out(2303): Warning: GenericMetaEvent used because type (33) wasn't recognized or unexpected data length (1) for type. 
12-11 23:21:23.288: I/System.out(2303): Listener For All Started! 
12-11 23:21:23.307: I/System.out(2303): Listener For All received event: 0 (0): NoteOn 
12-11 23:21:23.338: I/Choreographer(2303): Skipped 32 frames! The application may be doing too much work on its main thread. 
12-11 23:21:23.597: I/Choreographer(2303): Skipped 72 frames! The application may be doing too much work on its main thread. 
12-11 23:21:23.769: I/System.out(2303): Listener For All received event: 455 (455): NoteOn 
12-11 23:21:23.797: I/System.out(2303): Listener For All received event: 480 (25): NoteOn 
12-11 23:21:24.271: I/System.out(2303): Listener For All received event: 935 (455): NoteOn 
12-11 23:21:24.292: I/System.out(2303): Listener For All received event: 960 (25): NoteOn 
12-11 23:21:24.771: I/System.out(2303): Listener For All received event: 1415 (455): NoteOn 
12-11 23:21:24.791: I/System.out(2303): Listener For All received event: 1440 (25): NoteOn 
12-11 23:21:25.272: I/System.out(2303): Listener For All received event: 1895 (455): NoteOn 
12-11 23:21:25.293: I/System.out(2303): Listener For All received event: 1920 (25): NoteOn 
12-11 23:21:25.771: I/System.out(2303): Listener For All received event: 2375 (455): NoteOn 
12-11 23:21:25.797: I/System.out(2303): Listener For All received event: 2400 (25): NoteOn 
12-11 23:21:26.268: I/System.out(2303): Listener For All received event: 2855 (455): NoteOn 
12-11 23:21:26.288: I/System.out(2303): Listener For All received event: 2880 (25): NoteOn 
12-11 23:21:26.767: I/System.out(2303): Listener For All received event: 3335 (455): NoteOn 
12-11 23:21:27.295: I/System.out(2303): Listener For All received event: 3840 (505): NoteOn 
12-11 23:21:27.772: I/System.out(2303): Listener For All received event: 4295 (455): NoteOn 
12-11 23:21:27.798: I/System.out(2303): Listener For All received event: 4320 (25): NoteOn 
12-11 23:21:28.268: I/System.out(2303): Listener For All received event: 4775 (455): NoteOn 
12-11 23:21:28.296: I/System.out(2303): Listener For All received event: 4800 (25): NoteOn 
12-11 23:21:28.773: I/System.out(2303): Listener For All received event: 5255 (455): NoteOn 
12-11 23:21:29.288: I/System.out(2303): Listener For All received event: 5760 (505): NoteOn 
12-11 23:21:29.765: I/System.out(2303): Listener For All received event: 6215 (455): NoteOn 
12-11 23:21:29.793: I/System.out(2303): Listener For All received event: 6240 (25): NoteOn 
12-11 23:21:30.270: I/System.out(2303): Listener For All received event: 6695 (455): NoteOn 
12-11 23:21:30.298: I/System.out(2303): Listener For All received event: 6720 (25): NoteOn 
12-11 23:21:30.769: I/System.out(2303): Listener For All received event: 7175 (455): NoteOn 
12-11 23:21:31.297: I/System.out(2303): Listener For All received event: 7680 (505): NoteOn 
12-11 23:21:31.767: I/System.out(2303): Listener For All received event: 8135 (455): NoteOn 
12-11 23:21:31.797: I/System.out(2303): Listener For All received event: 8160 (25): NoteOn 
12-11 23:21:32.266: I/System.out(2303): Listener For All received event: 8615 (455): NoteOn 
12-11 23:21:32.293: I/System.out(2303): Listener For All received event: 8640 (25): NoteOn 
12-11 23:21:32.770: I/System.out(2303): Listener For All received event: 9095 (455): NoteOn 
12-11 23:21:32.799: I/System.out(2303): Listener For All received event: 9120 (25): NoteOn 
12-11 23:21:33.268: I/System.out(2303): Listener For All received event: 9575 (455): NoteOn 
12-11 23:21:33.297: I/System.out(2303): Listener For All received event: 9600 (25): NoteOn 
12-11 23:21:33.767: I/System.out(2303): Listener For All received event: 10055 (455): NoteOn 
12-11 23:21:33.794: I/System.out(2303): Listener For All received event: 10080 (25): NoteOn 
12-11 23:21:34.273: I/System.out(2303): Listener For All received event: 10535 (455): NoteOn 
12-11 23:21:34.291: I/System.out(2303): Listener For All received event: 10560 (25): NoteOn 
12-11 23:21:34.768: I/System.out(2303): Listener For All received event: 11015 (455): NoteOn 
12-11 23:21:34.797: I/System.out(2303): Listener For All received event: 11040 (25): NoteOn 
12-11 23:21:35.267: I/System.out(2303): Listener For All received event: 11495 (455): NoteOn 
12-11 23:21:35.292: I/System.out(2303): Listener For All received event: 11520 (25): NoteOn 
12-11 23:21:35.769: I/System.out(2303): Listener For All received event: 11975 (455): NoteOn 
12-11 23:21:35.798: I/System.out(2303): Listener For All received event: 12000 (25): NoteOn 
12-11 23:21:36.267: I/System.out(2303): Listener For All received event: 12455 (455): NoteOn 
12-11 23:21:36.297: I/System.out(2303): Listener For All received event: 12480 (25): NoteOn 
12-11 23:21:36.767: I/System.out(2303): Listener For All received event: 12935 (455): NoteOn 
+0

“...所以我不认为XXXX或YY会成为注释”为什么? – nonchip

+0

@nonchip您可以看到以下示例。 12480(25):NoteOn 12935(455):NoteOn 第一个数字在增加,第二个数字总是在重复,我加载的midi文件是Mary有一个小羊羔,这两个数字之间没有关系, midi文件。 –

回答

1

NoteOn class有一个成员函数getNoteValue()

+0

谢谢,但是,我知道。问题是我不知道如何使用它,因为在我的情况下,输入是一个midi文件,它不是我作为NoteOn值插入的注释。 getNoteValue()应该在setNoteValue(int p)之后使用,对吧?(我可能会误解它)但是我怎样才能得到p的值呢?如果有办法得到p,getNoteValue()将是无用的,因为我已经得到了该笔记。 –

+0

当然,票据价值是票据价值!该库从MIDI文件中的值创建该对象。 –

+0

感谢您的回答,我无法理解您的观点。你的意思是可以使用NodeOn类来存储** midi文件中的注释(不是插入的注释)?但是如何将音符值设置为NodeOn变量? –

相关问题