FineKernelToolKit: FK::fk_AudioOggBuffer クラス

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 全メンバ一覧
FK::fk_AudioOggBuffer クラス

Ogg Vorbis オーディオバッファクラス [詳解]

`#include <FK/Audio.h>`

FK::fk_AudioOggBuffer の継承関係図
[凡例]
FK::fk_AudioOggBuffer 連携図
[凡例]

## 公開メンバ関数

| fk_AudioOggBuffer (void)
| コンストラクタ
virtual | ~fk_AudioOggBuffer ()
| デストラクタ
bool | open (const std::string &filename)
| オーディオデータ読み込み関数
bool | ready (void)
| 再生開始可能状態取得関数
bool | play (void)
| 再生関数
double | tell (void)
| 再生位置取得関数
void | seek (double time)
| 再生位置頭出し関数
void | stop (void)
| 停止関数
void | end (void)
| オーディオデータ解放関数
基底クラス FK::fk_AudioBase に属する継承公開メンバ関数
| fk_AudioBase (void)
| コンストラクタ
virtual | ~fk_AudioBase ()
| デストラクタ
void | pause (void)
| ポーズ関数
void | setGain (double gain)
| 音量設定関数
double | getGain (void)
| 音量取得関数
void | setQueueSize (int size)
| キューバッファサイズ設定関数
int | getQueueSize (void)
| キューバッファサイズ取得関数
void | setLoopMode (bool mode)
| ループモード設定関数
bool | getLoopMode (void)
| ループモード取得関数
void | setLoopArea (double start, double end)
| ループエリア設定関数
double | getLoopStartTime (void)
| ループ開始点取得関数
double | getLoopEndTime (void)
| ループ終了点取得関数
void | setPosition (const fk_Vector &pos)
| サラウンド音源位置設定関数
fk_Vector | getPosition (void)
| サラウンド音源座標取得関数
void | setModel (fk_Model *model)
| サラウンド音源同期モデル設定関数1
void | setModel (fk_Model &model)
| サラウンド音源同期モデル設定関数2
fk_Model * | getModel (void)
| サラウンド音源同期モデル取得関数
void | setReferenceDist (double dist)
| サラウンド音源有効距離設定関数
double | getReferenceDist (void)
| サラウンド音源座有効距離取得関数
void | setSurroundMode (bool mode)
| サラウンド効果状態設定関数
bool | getSurroundMode (void)
| サラウンド効果状態取得関数

## その他の継承メンバ

基底クラス FK::fk_AudioBase に属する継承静的公開メンバ関数
static bool | init (void)
| オーディオシステム初期化関数
static bool | getInit (void)
| オーディオシステム初期化状態取得関数
static void | sleep (double time)
| プロセススリープ関数
static void | setListenerModel (fk_Model *model)
| サラウンドリスナー同期モデル設定関数1
static void | setListenerModel (fk_Model &model)
| サラウンドリスナー同期モデル設定関数2
static fk_Model * | getListenerModel (void)
| サラウンドリスナーモデル取得関数

## 詳解

Ogg Vorbis オーディオバッファクラス

このクラスは、Ogg Vorbis 形式のファイルに格納された音声を、 オンメモリで再生する機能を提供します。

このクラスは、ファイルを読み込む時点で全ての音声データをメモリ上に展開します。 これにより、頻繁な再生と停止を繰り返したり、 seek() を頻繁に用いて再生位置を変更するといった、 即応性の高い再生を可能としています。 短くて頻繁に再生と停止を繰り返すような、効果音などの音源に適しています。 また、サラウンドにも対応しています。

しかしながら、全てのデータをメモリ上に展開するという仕様上、 巨大な音声データを入力した場合にはかなりのメモリを使用してしまいます。 長尺で単調に再生するような BGM 再生などの用途には向いていません。 そのような用途を想定する場合は、 fk_AudioStream クラスを利用して下さい。

また、Wave 形式のファイルを再生したい場合は fk_AudioWavBuffer クラスを利用してください。 本クラスとほぼ同一の機能を持ちます。

なお、本クラスは fk_AudioBase クラスの派生クラスであり、 音量やループ再生の制御、サラウンド効果の使用といった機能の利用については fk_AudioBase のメンバ関数を用いて行います。

参照
  fk_AudioBase, fk_AudioWavBuffer, fk_AudioStream

## 構築子と解体子

## ◆ fk_AudioOggBuffer()

FK::fk_AudioOggBuffer::fk_AudioOggBuffer | ( | void |  | ) |

コンストラクタ

## ◆ ~fk_AudioOggBuffer()

virtual FK::fk_AudioOggBuffer::~fk_AudioOggBuffer | ( |  | ) |

virtual

デストラクタ

## 関数詳解

## ◆ open()

bool FK::fk_AudioOggBuffer::open | ( | const std::string & | filename | ) |

virtual

オーディオデータ読み込み関数

Ogg Vorbis 形式のファイルを指定することで、 音声データを読み込みます。

覚え書き
  サラウンド効果を有効とするためには、 音源はモノラルでなければなりません。

引数

  [in] | filename | ファイル名。

戻り値
  入力に成功すれば true を、 失敗すれば false を返します。

FK::fk_AudioBaseを実装しています。

FK::fk_AudioWavBufferで再実装されています。

## ◆ ready()

bool FK::fk_AudioOggBuffer::ready | ( | void |  | ) |

virtual

再生開始可能状態取得関数

open() によってファイルから音声を入力した後、 再生可能な状態になっているかどうかを取得します。

覚え書き
  本関数は、通常の利用においてはユーザが使用する必要はありません。

戻り値
  再生可能状態であれば true を、 まだ再生の準備ができていない状態であれば false を返します。

FK::fk_AudioBaseを実装しています。

## ◆ play()

bool FK::fk_AudioOggBuffer::play | ( | void |  | ) |

virtual

再生関数

実際に音声の再生を行う関数です。 この関数は、再生を行いたい状況においては1秒に数回以上の割合で、 連続して実行する必要があります。 通常は、画面更新のためのメインループ中に一度ずつ実行します。

戻り値
  音声再生が完了していない場合は true を、 完了している場合 false を返します。

FK::fk_AudioBaseを実装しています。

## ◆ tell()

double FK::fk_AudioOggBuffer::tell | ( | void |  | ) |

virtual

再生位置取得関数

現在の再生位置を返します。単位は秒です。 この関数が返す値は再生時間ではなく、 音源での始端からの時間となります。

戻り値
  現時点での再生位置。

参照
  seek()

FK::fk_AudioBaseを実装しています。

## ◆ seek()

void FK::fk_AudioOggBuffer::seek | ( | double | time | ) |

virtual

再生位置頭出し関数

現在の再生位置を変更します。単位は秒です。

引数

  [in] | time | 再生位置。

参照
  tell()

FK::fk_AudioBaseを実装しています。

## ◆ stop()

void FK::fk_AudioOggBuffer::stop | ( | void |  | ) |

virtual

停止関数

音声の再生を停止し、再生位置も初期化します。 この後に play() を実行した場合、 停止位置ではなく始端(または指定した箇所)から再生されます。 一時停止を行いたい場合は fk_AudioBase::pause() を利用して下さい。

参照
  fk_AudioBase::pause()

FK::fk_AudioBaseを実装しています。

## ◆ end()

void FK::fk_AudioOggBuffer::end | ( | void |  | ) |

virtual

オーディオデータ解放関数

open() 等で確保したデータを解放します。

参照
  open(), stop(), fk_AudioBase::pause()

FK::fk_AudioBaseを実装しています。