kinugasa.contents.sound

## クラス CachedSound

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

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

      public class CachedSound
      extends java.lang.Object
      implements Sound

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

- - ### メソッドのサマリー

    All Methods Instance Methods Concrete Methods
    修飾子とタイプ | メソッドと説明
    --- | ---
    `void` | `again()` サウンドを最初まで巻き戻してから再度再生します.
    `CachedSound` | `free()` コンテンツをメモリから破棄出来るようにします.
    `SoundBuilder` | `getBuilder()` このサウンドを構築したビルダを取得します.
    `long` | `getFrameLength()` このサウンドのフレームの最大長を返します.
    `long` | `getFramePosition()` サウンドの現在のフレーム位置を返します.
    `java.lang.String` | `getName()` このインスタンスの一意的な名前を取得します.
    `boolean` | `isLoaded()` このオブジェクトが、すでにロードされているかを検査します.
    `boolean` | `isRunning()` サウンドが再生中かを調べます.
    `CachedSound` | `load()` コンテンツをロードして展開します.
    `void` | `pause()` サウンドの再生を一時停止します.
    `void` | `play()` サウンドの再生を開始します.
    `void` | `setVolume(float vol)` サウンドの音量を設定します.
    `void` | `stop()` サウンドの再生を停止して最初まで巻き戻します.
    `java.lang.String` | `toString()`

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### メソッドの詳細

    - #### setVolume

          public void setVolume(float vol)

      インタフェースからコピーされた説明: `Sound`
      サウンドの音量を設定します.
      定義:
        `setVolume` インタフェース内 `Sound`
      パラメータ:
        `vol` - 新しい音量.0fで無音になる.

    - #### play

          public void play()
                    throws NotYetLoadedException

      インタフェースからコピーされた説明: `Sound`
      サウンドの再生を開始します. サウンドがループ機能をサポートしている場合は、設定によってはループ再生を開始します.
      サウンドが既に再生されている場合は何もしません.
      定義:
        `play` インタフェース内 `Sound`
      例外:
        `NotYetLoadedException` - サウンドがロードされていない場合に投げることができます。

    - #### again

          public void again()

      インタフェースからコピーされた説明: `Sound`
      サウンドを最初まで巻き戻してから再度再生します. 通常はstopを呼び出した後にplayを呼び出します.
      定義:
        `again` インタフェース内 `Sound`

    - #### getFramePosition

          public long getFramePosition()

      インタフェースからコピーされた説明: `Sound`
      サウンドの現在のフレーム位置を返します.
      定義:
        `getFramePosition` インタフェース内 `Sound`
      戻り値:
        現在のフレーム位置.

    - #### getFrameLength

          public long getFrameLength()

      インタフェースからコピーされた説明: `Sound`
      このサウンドのフレームの最大長を返します.
      定義:
        `getFrameLength` インタフェース内 `Sound`
      戻り値:
        フレームの最大長.

    - #### stop

          public void stop()

      インタフェースからコピーされた説明: `Sound`
      サウンドの再生を停止して最初まで巻き戻します.
      定義:
        `stop` インタフェース内 `Sound`

    - #### pause

          public void pause()

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

    - #### isRunning

          public boolean isRunning()

      インタフェースからコピーされた説明: `Sound`
      サウンドが再生中かを調べます.
      定義:
        `isRunning` インタフェース内 `Sound`
      戻り値:
        再生中の場合はtrue,そうでないか、ロードされていない場合はfalse.

    - #### load

          public CachedSound load()
                           throws ContentsIOException,
                                  SoundStreamException

      インタフェースからコピーされた説明: `Loadable`
      コンテンツをロードして展開します. すでにロードされている場合の動作は、実装によって異なります。
      再度ロードすることで、データを最新のものに更新するなど、効果のある場合には、すでにロードされている場合でも 再度ロードすることがあります。
      定義:
        `load` インタフェース内 `Loadable`
      定義:
        `load` インタフェース内 `Sound`
      戻り値:
        インスタンス化と同時にロードするために、thisインスタンスを返します。戻り値は 適切な型にキャストする必要があります。
      例外:
        `ContentsIOException`
        `SoundStreamException`

    - #### free

          public CachedSound free()

      インタフェースからコピーされた説明: `Freeable`
      コンテンツをメモリから破棄出来るようにします. 実際にメモリから破棄されるタイミングは、GCに依存します。
      まだロードされていないか、開放済みのオブジェクトを開放した場合には、通常は何も行いません。
      定義:
        `free` インタフェース内 `Freeable`
      定義:
        `free` インタフェース内 `Sound`
      戻り値:
        デフォルトでロードされる実装を、インスタンス化と同時に開放するためにthisインスタンスを返します。
        戻り値は適切な型にキャストする必要があります。通常、このような実装は効率的でないため推奨されません。

    - #### isLoaded

          public boolean isLoaded()

      インタフェースからコピーされた説明: `Loadable`
      このオブジェクトが、すでにロードされているかを検査します.
      定義:
        `isLoaded` インタフェース内 `Loadable`
      定義:
        `isLoaded` インタフェース内 `Sound`
      戻り値:
        ロード済みである場合はtrueを返します。

    - #### toString

          public java.lang.String toString()

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

    - #### getName

          public java.lang.String getName()

      インタフェースからコピーされた説明: `Nameable`
      このインスタンスの一意的な名前を取得します. 名前はゲームの実行中変更されてはなりません。
      定義:
        `getName` インタフェース内 `Nameable`
      定義:
        `getName` インタフェース内 `Sound`
      戻り値:
        このインスタンスを識別できる一意的な名前を返します。名前はユーザやプレイヤーが指定する可能性があるため 意味のある文字列を推奨します。

    - #### getBuilder

          public SoundBuilder getBuilder()

      このサウンドを構築したビルダを取得します. ビルダへの設定は、意味がありません。
      戻り値:
        このサウンドを構築するために作成されたビルダのインスタンスを返します。