2

Java ME 1.4 と WTK および LWUIT を使用しており、PhoneME で実行されている Java アプリケーションでビープ音を鳴らしたいと考えています。

Googleでいくつかの方法を発見しましたが、どれも機能していません。

私の最後の試みは使用してDisplay.getInstance().playBuiltinSound(Display.SOUND_TYPE_ERROR)いましたが、成功しませんでした。

もう 1 つは次のとおりAlertType.WARNING.playSound(Display.getDisplay(midlet))です。また、動作していません

そしてこれ: Playing Audio with J2ME ; 失敗

JAVA ME でビープ音を鳴らす一般的な方法を見つけるのを手伝ってくれる人はいますか?

4

1 に答える 1

0

私だったら、Player オブジェクトを使用して AMR ファイルまたは MIDI ファイルを再生します。

AMR は、JavaME で最も広くサポートされているストリーミング オーディオ形式です。さまざまなコンバーターを使用して、WAV ファイルを AMR に簡単に変換できます。

Player オブジェクトの使用は非常に簡単です。これは MIDI を再生する例です。最初に Player オブジェクトを作成します。

Player myPlayer = Manager.createPlayer(getClass().getResourceAsStream("music.mid"), "audio/midi"); // For AMR use audio/amr

この後、myPlayer.start() を呼び出すだけでよいかもしれませんが、ここで問題があります: 一部のデバイスでは、最初に realize() と prefetch() を呼び出す必要がありますが、これらの正確な呼び出しは他のデバイスでの再生を台無しにします。したがって、考えられるほとんどのデバイスで再生を機能させるには、いくつかの try/catch ブロックを投入するだけです。

try {
    myPlayer.realize();
} catch (Exception e) {} // Didn't work? Oh well, never mind.

try {
    myPlayer.prefetch();    
} catch (Exception e) {} // Again, we don't care if it didn't work.

try {
    myPlayer.start();   
} catch (Exception e) {}

そのアプローチを使用すると、考えられるほとんどのデバイスで動作するサウンドが得られるはずです。

使用するビープ音をオンラインで見つけることは問題ではありません。

于 2012-10-31T19:38:26.603 に答える