iOSでMIDIを使用する方法を学ぶためにドラムマシンを構築しています。なんとか一点まで動作させることができましたが、次の問題があります。ユーザーが特定のボタンをタップすると、MIDI プレーヤーの再生中に MIDI ループにサウンドを追加する必要がありますが、残念ながら単純にはできません。
MusicTrackNewMIDINoteEvent(track, 0, &message);
ただし、トラックはループしていて長さが決まっているため、理論的にはある時点で 0 に戻るはずです。私もこれを試しました:
MusicTrackNewMIDINoteEvent(track, noteTimestamp, &message);
noteTimestamp
プレーヤーから受け取ったタイムスタンプはどこにありますか。最後に、次のようなもので動作させることができました:
MusicTrackNewMIDINoteEvent(track, noteTimestamp+.5, &message);
しかし言うまでもなく、.5
遅延は私のドラムマシンに必要なものではなく、可能な限り応答性が高い必要があります。
では、この問題にどのように取り組むのでしょうか。どうすれば遅れることなく、できるだけ早くトラックにノートをプッシュできますか?