FineKernelToolKit  2.9.0
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義 ページ
Public メソッド | すべてのメンバ一覧
クラス fk_AudioOggBuffer

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

+ fk_AudioOggBufferに対する継承グラフ
+ fk_AudioOggBufferのコラボレーション図

Public メソッド

 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)
 オーディオデータ解放関数 [詳細]
 
- Public メソッド inherited from 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_ModelgetModel (void)
 サラウンド音源同期モデル取得関数 [詳細]
 
void setReferenceDist (double dist)
 サラウンド音源有効距離設定関数 [詳細]
 
double getReferenceDist (void)
 サラウンド音源座有効距離取得関数 [詳細]
 
void setSurroundMode (bool mode)
 サラウンド効果状態設定関数 [詳細]
 
bool getSurroundMode (void)
 サラウンド効果状態取得関数 [詳細]
 

Additional Inherited Members

- Static Public メソッド inherited from 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_ModelgetListenerModel (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_AudioOggBuffer ( void  )

コンストラクタ

virtual fk_AudioOggBuffer::~fk_AudioOggBuffer ( )
virtual

デストラクタ

関数

bool fk_AudioOggBuffer::open ( const std::string &  filename)
virtual

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

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

覚え書き
サラウンド効果を有効とするためには、 音源はモノラルでなければなりません。
引数
[in]filenameファイル名。
戻り値
入力に成功すれば true を、 失敗すれば false を返します。

fk_AudioBaseを実装しています。

fk_AudioWavBufferで再定義されています。

bool fk_AudioOggBuffer::ready ( void  )
virtual

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

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

覚え書き
本関数は、通常の利用においてはユーザが使用する必要はありません。
戻り値
再生可能状態であれば true を、 まだ再生の準備ができていない状態であれば false を返します。

fk_AudioBaseを実装しています。

bool fk_AudioOggBuffer::play ( void  )
virtual

再生関数

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

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

fk_AudioBaseを実装しています。

double fk_AudioOggBuffer::tell ( void  )
virtual

再生位置取得関数

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

戻り値
現時点での再生位置。
参照
seek()

fk_AudioBaseを実装しています。

void fk_AudioOggBuffer::seek ( double  time)
virtual

再生位置頭出し関数

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

引数
[in]time再生位置。
参照
tell()

fk_AudioBaseを実装しています。

void fk_AudioOggBuffer::stop ( void  )
virtual

停止関数

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

参照
fk_AudioBase::pause()

fk_AudioBaseを実装しています。

void fk_AudioOggBuffer::end ( void  )
virtual

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

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

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

fk_AudioBaseを実装しています。