2011-02-08 12 views
2

私はAndroid上にmidiファイルを動的に作成する関数を作成しようとしています。 javax.sound.midiライブラリがないので、自分でファイルを書き出すためにバイトを書き出しています。私はいくつかの素晴らしいガイド(下記参照)を見つけたので、私は複数のトラックのmidisを作成することができました。しかし、私はどのトラックの楽器をどのように切り替えるかを理解することができず、すべてのトラックがデフォルトの楽器を使用しているだけです。 私が必要とするコードを読んだ文書から、プログラム番号の後に「プログラム変更」があると思います。MIDIエンコーディングで楽器を変更しますか?

track.write((byte) 192); // 128 + 64 
track.write((byte) x); // x is the instrument number between 1-128. 

私はトラック情報をノートオフ/上のノートの開始前にこれを入れてきましたが、それはdoesnの:私はこれまでbyteoutputstreamアレイに出て次のことを書いている試みた何

ミディが始めるのに時間がかかること以外は何もしていないようだ。私はここで正しい道にいるのですか、何か不足していますか?どんな助けもありがとうございます。

http://faydoc.tripod.com/formats/mid.htm https://ccrma.stanford.edu/~craig/articles/linuxmidi/misc/essenmidi.html

答えて

0

は、最後にそれを考え出しました。それは単なる簡単なことでしたが、プログラムが変更される前にトラック時間を含めるのを忘れました。一度私は0バイトを追加しました。

関連する問題