2012-04-16 18 views
0

私は、ゲームプレイ中に再生されるさまざまなサウンドエフェクトを含むゲームを作ろうとしています。しかし、アプリケーションは、約1分ほど後にクラッシュし続け、Java:Macでオーディオファイルを再生する簡単な方法は?

Invalid memory access of location 0x54008 rip=0x11c7737fd 

または時にはメモリに関連する別のエラーも発生します。 レポートでは、私のプログラムがメモリを使い過ぎていて、メモリが足りなくなってクラッシュしたと言われました。しかし、それはWindows上で完璧に正常に動作します。別のコンピュータだけでなく、同じコンピュータ上でも(仮想マシンを使用している私はmacbook btwを使用しています)。 Javaを最新バージョンに更新しました。とにかくこの問題を解決するには、または同様に、Mac(Lion)でも正常に動作する別の方法はありますか?私は私のプログラムでオーディオファイルを再生するには、以下のリンクからコードを使用:

http://www.anyexample.com/programming/java/java_play_wav_sound_file.xml

感謝を事前に。

+1

これは、Javaから取得するには奇妙なエラーメッセージです。いくつかのネイティブインターフェイスを呼び出すのですか? – aroth

+0

@arothいいえ私は特別なことはしていません。私がやっているのは、そのクラスファイルをインクルードして使用することです。新しいAePlayWave( "Effect.wav")start(); – Dennis

+0

@MДΓΓLLLLLLはい、記事で触れたように、私はJavaを最新バージョンに更新しました。ソフトウェア更新プログラムを通じて配布されていない別の更新プログラムがない限り、 – Dennis

答えて

1

Applet.newAudioClip()から返されたjava.applet.AudioClipを使用できますか?

AudioClipインターフェイスは、サウンドクリップを再生するための単純な抽象化です。複数のAudioClipアイテムを同時に再生することができ、その結果のサウンドが混合されて合成されます。

(あなたがJavaアプレットを行っていないということを問題ではありません - あなたはまだこれらのクラスを使用することができます...)

AudioClip clip = Applet.newAudioClip(resource); 
clip.play(); 

(私はSnow Leopardの上に入射せずにこれを使用しました。)

+0

うーん..私は決してこれを試したことはありません。私は間違いなくすぐに試してみることにします。あなたも最新のバージョンにあなたのJavaを更新しましたか?) – Dennis

+0

@Dennis:はい、私は最新のJavaを持っています(SLではなく、ライオンでも) –

+0

ああ私の神。これは動作します!私はこれを一度だけ実装してテストしましたが、しばらくプレイしましたが、次にエラーが発生し、クラッシュしませんでした。アプレットを対象としているように見えますが、これは素晴らしい動作です。 1つの問題は、クリップ(オーディオ)が長い場合、オーディオがクリップされることです。私はこれがSourceDataLineなのか、それが何であったのかと信じています。このゲームのすべての効果音は非常に短いので、これは問題ではありませんが、(タイマー付きで)再生が停止した後に繰り返される、 。 – Dennis

関連する問題