クラスSoundClip
SoundClipクラスは、サウンド・クリップを再生するための単純な抽象化です。 これは、javax.sound APIによって認識され、サポートしている任意の形式を再生します。 これには、MIDIデータが含まれます。
このクラスは、短いクリップまたはサウンドのスニペットを簡単に再生することを目的としています。 これが使用される場合の例としては、UIアプリで音声アラートや効果を再生したり、短いアナウンスを行ったり、ボタンやコントロールの機能としてアナウンスするような音声フィードバックを提供したりします。 アプリケーションは通常、このようなクリップを完了まで1回再生します。
より正確な制御または高度な機能を必要とするアプリケーションは、javax.sound APIの他の部分を調べる必要があります。 サウンドを再生するには、環境がオーディオデバイスへのアクセスを許可する必要があります。 通常、これはデスクトップ環境でアプリケーションを実行することを意味します。
複数のSoundClipアイテムを同時に再生でき、結果のサウンドが混在してコンポジットが生成されます。
- 導入されたバージョン:
- 25
-
メソッドのサマリー
-
メソッドの詳細
-
createSoundClip
public static SoundClip createSoundClip(File file)はIOExceptionをスローします。 指定されたファイルからクリップを再生するSoundClipインスタンスを作成します。このメソッドが返される前に、ファイルの内容が完全に読み取られます。 ファイルに認識可能でサポートされているサウンドデータが含まれていない場合、または実装でデータに適した出力デバイスが見つからない場合、クリップの再生は動作しません。
- パラメータ:
file- サウンド・データの取得元ファイル- 戻り値:
SoundClip- スロー:
NullPointerException-fileがnullの場合IOException-fileからの読取りでエラーが発生した場合
-
canPlay
public boolean canPlay()これが再生可能なサウンドクリップかどうかを返します。falseの値は、このクラスの他のメソッドの呼出しがno-opであることを意味します。- 戻り値:
- これが再生可能なサウンドクリップかどうか
-
isPlaying
public boolean isPlaying()サウンドが現在再生されているかどうかを返します。- 戻り値:
- サウンドが現在再生されているかどうか
-
play
public void play()このサウンドクリップの再生を開始します。 このメソッドが呼び出されるたびに、クリップは最初から再生されます。 このメソッドは、サウンドが再生されるかどうか、およびサウンドの再生が開始される前に、すぐに返されます。スレッド・ノート: ほとんどのアプリケーションでは、
play()をコールする以外に何もする必要はありません。 したがって、ほとんどのアプリケーションで気にする必要はありません。 再生はバックグラウンド・スレッド(通常はデーモン・スレッド)で管理されます。 デーモン・スレッドを実行しても、VMの終了は妨げられません。 そのため、VMが終了しないように、少なくとも1つのスレッドが存続している必要があります。 ウィンドウが自動的に表示されるUIアプリケーションは、この要件を満たします。 逆に、アプリケーションがplay()が完了する前にVMの終了を保証する場合は、stop()メソッドをコールする必要があります。 -
loop
public void loop()このサウンドクリップをループで再生します。 このメソッドが呼び出されるたびに、クリップは最初から再生されます。 このメソッドは、サウンドが再生されるかどうか、およびサウンドの再生が開始される前に、すぐに返されます。スレッド・ノート: ほとんどのアプリケーションでは、
loop()をコールする以外に何もする必要はありません。 したがって、ほとんどのアプリケーションで気にする必要はありません。 再生は、通常、デーモン・スレッドであるバックグラウンド・スレッドで管理されます。 デーモン・スレッドを実行しても、VMの終了は妨げられません。 そのため、VMが終了しないように、少なくとも1つのスレッドが存続している必要があります。 ウィンドウが自動的に表示されるUIアプリケーションは、この要件を満たします。 逆に、アプリケーションがplay()が完了する前にVMの終了を保証する場合は、stop()メソッドをコールする必要があります。 -
stop
public void stop()このサウンドクリップの再生を停止します。 クリップが再生中であり、アプリケーションが早期にそれを停止する必要がある場合、たとえば、再生中のクリップが終了をブロックしないようにします。 また、loop()を停止する必要があります。
-