小林と申します。
質問させてください。
現在MIDIの鍵盤アプリを作成しています。
javax.sound.midiパッケージがimportできずに困っています。
どなたかご教授お願いします。
以下の2点について質問です
①Androidにjavax.sound.midiパッケージのimportは可能でしょうか?
※オライリー出版の「初めてのAndroid」P.211ではサポートされていないと記載がありますが、
こちらのサイトを確認したところ、Androidはjavax.sound.midiパッケージに対応しているようです。
http://d.hatena.ne.jp/hack-3/20080617/1213666136http://lamp.epfl.ch/~linuxsoft/android/android-m3-rc20a/docs/reference/javax/sound/midi/package-summary.html
②無理な場合はMidi処理はどのような方法で実装するのでしょうか?
環境
Eclipse3.4
AndroidSDK1.5
Emurator、実機の両方で実行
作成手順
①AndroidManifestの<application>タグ内に<uses-library android:name="javax.sound.midi"></uses-library>を追加
②クライアントjavaクラスに「import javax.sound.midi.*;」を記述したところでエラー発生、入力支援なし
NGな方法と思いますが、以下のことも試しました
③①を削除し、BuildPath→ConfigureBuildPath→AddLibrary→JRE System Libraryを追加
④エラーは除去される
⑤実行エラー
■エラーメッセージ
06-18 04:45:41.474: ERROR/AndroidRuntime(975): Uncaught handler: thread main exiting due to uncaught exception
06-18 04:45:41.489: ERROR/AndroidRuntime(975): java.lang.VerifyError: midi.sample.AndroidMidiSample
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at java.lang.Class.newInstanceImpl(Native Method)
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at java.lang.Class.newInstance(Class.java:1472)
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at android.app.Instrumentation.newActivity(Instrumentation.java:1097)
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2186)
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284)
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at android.app.ActivityThread.access$1800(ActivityThread.java:112)
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at android.os.Handler.dispatchMessage(Handler.java:99)
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at android.os.Looper.loop(Looper.java:123)
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at android.app.ActivityThread.main(ActivityThread.java:3948)
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at java.lang.reflect.Method.invokeNative(Native Method)
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at java.lang.reflect.Method.invoke(Method.java:521)
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
06-18 04:45:41.489: ERROR/AndroidRuntime(975): at dalvik.system.NativeStart.main(Native Method)
■エラー発生箇所
try {
Sequence sequence = null;
//↓この行を追加するとエラー、例外のcatchはこない
sequence = new Sequence(Sequence.PPQ, 96);
}catch(Exception e){
Log.e("onCreate", e.getMessage());
}
よろしくお願いします