概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## kinugasa.contents.sound
クラス CachedSound

    java.lang.Object
      kinugasa.contents.sound.CachedSound

すべての実装されたインタフェース:
  Freeable, Nameable, Sound

    public class CachedSound

extends java.lang.Object
implements Sound

内部キャッシュつきのサウンドの実装です.
WAVEファイルを再生する際の、最も一般的なサウンドの実装となります。

バージョン:
  2.0.0 - 2013/01/13_18:46:43
作成者:
  Dra0211

フィールドの概要
`private SoundBuilder` | `builder` このサウンドを構築したビルダ.
`private static java.util.HashMap<SoundBuilder,CachedSound>` | `CACHE` サウンドのキャッシュデータ.
`private javax.sound.sampled.Clip` | `clip` このサウンドのストリーム.
`private java.util.HashMap<javax.sound.sampled.Control.Type,java.lang.Float>` | `ctrls` ロード時に適用するコントロール.
`private LoopPoint` | `lp` このサウンドのループ設定.

コンストラクタの概要
`private` | `CachedSound(SoundBuilder builder)` サウンドを作成.

メソッドの概要
`void` | `again()` サウンドを最初まで巻き戻してから再度再生します.
`(package private) static CachedSound` | `create(SoundBuilder b)` 新しいキャッシュサウンドを構築します.
`CachedSound` | `free()` コンテンツをメモリから破棄出来るようにします.
`SoundBuilder` | `getBuilder()` このサウンドを構築したビルダを取得します.
`long` | `getFrameLength()` このサウンドのフレームの最大長を返します.
`long` | `getFramePosition()` サウンドの現在のフレーム位置を返します.
`java.lang.String` | `getName()` このインスタンスの一意的な名前を取得します.
`boolean` | `isLoaded()` このオブジェクトが、すでにロードされているかを検査します.
`boolean` | `isRunning()` サウンドが再生中かを調べます.
`CachedSound` | `load()` コンテンツをロードして展開します.
`void` | `pause()` サウンドの再生を一時停止します.
`void` | `play()` サウンドの再生を開始します.
`private void` | `setControl(javax.sound.sampled.Control.Type t, float val)` コントロールをバッファリングする.
`private void` | `setLoopPoints(LoopPoint p)` ループ位置を設定します.
`void` | `setVolume(float vol)` サウンドの音量を設定します.
`void` | `stop()` サウンドの再生を停止して最初まで巻き戻します.
`java.lang.String` | `toString()`

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

フィールドの詳細

### CACHE

    private static final java.util.HashMap<SoundBuilder,CachedSound> CACHE

  サウンドのキャッシュデータ.

### builder

    private SoundBuilder builder

  このサウンドを構築したビルダ.

### clip

    private transient javax.sound.sampled.Clip clip

  このサウンドのストリーム.

### lp

    private LoopPoint lp

  このサウンドのループ設定.

### ctrls

    private java.util.HashMap<javax.sound.sampled.Control.Type,java.lang.Float> ctrls

  ロード時に適用するコントロール.

コンストラクタの詳細

### CachedSound

    private CachedSound(SoundBuilder builder)

  サウンドを作成. このコンストラクタでは、f.existの検査はしない.

  パラメータ:
    `builder` - ファイルインスタンス.

メソッドの詳細

### create

    static CachedSound create(SoundBuilder b)

  新しいキャッシュサウンドを構築します.

  パラメータ:
    `b` - サウンドの構築に使用するビルダ.
  戻り値:
    ビルダの設定で作成されたキャッシュサウンド.

### setControl

    private void setControl(javax.sound.sampled.Control.Type t,
                            float val)

  コントロールをバッファリングする.

  パラメータ:
    `t` - コントロールのタイプ.
    `val` - 値.

### setLoopPoints

    private void setLoopPoints(LoopPoint p)

  ループ位置を設定します.

  パラメータ:
    `p` - ループ位置.

### setVolume

    public void setVolume(float vol)

  インタフェース `Sound` の記述:
  サウンドの音量を設定します.

  定義:
    インタフェース `Sound` 内の `setVolume`
  パラメータ:
    `vol` - 新しい音量.0fで無音になる.

### play

    public void play()
              throws NotYetLoadedException

  インタフェース `Sound` の記述:
  サウンドの再生を開始します. サウンドがループ機能をサポートしている場合は、設定によってはループ再生を開始します.
  サウンドが既に再生されている場合は何もしません.

  定義:
    インタフェース `Sound` 内の `play`
  例外:
    `NotYetLoadedException` - サウンドがロードされていない場合に投げることができます。

### again

    public void again()

  インタフェース `Sound` の記述:
  サウンドを最初まで巻き戻してから再度再生します. 通常はstopを呼び出した後にplayを呼び出します.

  定義:
    インタフェース `Sound` 内の `again`

### getFramePosition

    public long getFramePosition()

  インタフェース `Sound` の記述:
  サウンドの現在のフレーム位置を返します.

  定義:
    インタフェース `Sound` 内の `getFramePosition`
  戻り値:
    現在のフレーム位置.

### getFrameLength

    public long getFrameLength()

  インタフェース `Sound` の記述:
  このサウンドのフレームの最大長を返します.

  定義:
    インタフェース `Sound` 内の `getFrameLength`
  戻り値:
    フレームの最大長.

### stop

    public void stop()

  インタフェース `Sound` の記述:
  サウンドの再生を停止して最初まで巻き戻します.

  定義:
    インタフェース `Sound` 内の `stop`

### pause

    public void pause()

  インタフェース `Sound` の記述:
  サウンドの再生を一時停止します. 次回playが呼び出されたとき、pauseが呼ばれた位置から再生します.

  定義:
    インタフェース `Sound` 内の `pause`

### isRunning

    public boolean isRunning()

  インタフェース `Sound` の記述:
  サウンドが再生中かを調べます.

  定義:
    インタフェース `Sound` 内の `isRunning`
  戻り値:
    再生中の場合はtrue,そうでないか、ロードされていない場合はfalse.

### load

    public CachedSound load()
                     throws ContentsIOException,
                            SoundStreamException

  インタフェース `Freeable` の記述:
  コンテンツをロードして展開します. すでにロードされている場合の動作は、実装によって異なります。
  再度ロードすることで、データを最新のものに更新するなど、効果のある場合には、すでにロードされている場合でも 再度ロードすることがあります。

  定義:
    インタフェース `Freeable` 内の `load`
  定義:
    インタフェース `Sound` 内の `load`
  戻り値:
    インスタンス化と同時にロードするために、thisインスタンスを返します。戻り値は 適切な型にキャストする必要があります。
  例外:
    `ContentsIOException`
    `SoundStreamException`

### free

    public CachedSound free()

  インタフェース `Freeable` の記述:
  コンテンツをメモリから破棄出来るようにします. 実際にメモリから破棄されるタイミングは、GCに依存します。
  まだロードされていないか、開放済みのオブジェクトを開放した場合には、通常は何も行いません。

  定義:
    インタフェース `Freeable` 内の `free`
  定義:
    インタフェース `Sound` 内の `free`
  戻り値:
    デフォルトでロードされる実装を、インスタンス化と同時に開放するためにthisインスタンスを返します。
    戻り値は適切な型にキャストする必要があります。通常、このような実装は効率的でないため推奨されません。

### isLoaded

    public boolean isLoaded()

  インタフェース `Freeable` の記述:
  このオブジェクトが、すでにロードされているかを検査します.

  定義:
    インタフェース `Freeable` 内の `isLoaded`
  定義:
    インタフェース `Sound` 内の `isLoaded`
  戻り値:
    ロード済みである場合はtrueを返します。

### toString

    public java.lang.String toString()

  オーバーライド:
    クラス `java.lang.Object` 内の `toString`

### getName

    public java.lang.String getName()

  インタフェース `Nameable` の記述:
  このインスタンスの一意的な名前を取得します. 名前はゲームの実行中変更されてはなりません。

  定義:
    インタフェース `Nameable` 内の `getName`
  定義:
    インタフェース `Sound` 内の `getName`
  戻り値:
    このインスタンスを識別できる一意的な名前を返します。名前はユーザやプレイヤーが指定する可能性があるため 意味のある文字列を推奨します。

### getBuilder

    public SoundBuilder getBuilder()

  このサウンドを構築したビルダを取得します. ビルダへの設定は、意味がありません。

  戻り値:
    このサウンドを構築するために作成されたビルダのインスタンスを返します。

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド