javax.sound.midiパッケージのimportについて

841 views
Skip to first unread message

HideCheck

unread,
Jun 18, 2009, 12:53:11 AM6/18/09
to android-sdk-japan
小林と申します。

質問させてください。
現在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/1213666136
http://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());
        }

よろしくお願いします

Lionas

unread,
Jun 18, 2009, 8:33:54 AM6/18/09
to Android-SDK-Japan
lioと申します。

SDKのAndroid1.5のandroid.jarの中身を見る限り、javax.sound系は入ってなさそうですね。
よって、公式ではimport不可、ということですかね。

また、AndroidのVMであるdalvikのバイトコードとJavaのVMのバイトコードに
互換性は無いかと思いますので、お互いに相手のモジュールを拝借することは無理かと思います。

MIDIについて詳しくはありませんが、オンラインドキュメントに下記の記載はありました。
Media framework
・Interactive MIDI playback engine
  http://developer.android.com/sdk/android-1.5-highlights.html

JetPlayer
 http://developer.android.com/reference/android/media/JetPlayer.html

参考になれば幸いです。

On 6月18日, 午後1:53, HideCheck <hidech...@gmail.com> wrote:
> 小林と申します。
>
> 質問させてください。
> 現在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/referenc...
> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:-782)

HideCheck

unread,
Jun 19, 2009, 5:49:17 AM6/19/09
to android-...@googlegroups.com
小林です。

lioさんありがとうございます。
JetPlayerは別でjetファイルを作成する必要がありそうですね。
%android-sdk%/docs/JetCreator/JET_Authoring_Guidelines.htmlにドキュメントがありました。
ちょっと難しそうですがチャレンジしてみます。

2009/06/18 21:33 Lionas <lionas....@gmail.com>:
Reply all
Reply to author
Forward
0 new messages