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

オーディオストリームクラス [詳細]

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

Public メソッド

 fk_AudioStream (void)
 コンストラクタ [詳細]
 
virtual ~fk_AudioStream ()
 デストラクタ [詳細]
 
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 形式のファイルに格納された音声の、 ストリーミング再生機能を提供します。

このクラスでの再生は、再生時にファイルの一部分のみを読み込み、 再生が進む過程で逐次ファイルの読み込みを行います。 従って、巨大なファイルの入力であってもメモリの使用量を節約できます。 長尺でループするような、BGM などの音源に適しています。

一方、頻繁な停止と再生の繰り返し、 seek() を頻繁に用いた再生位置の変更、 即応性のある再生には対応できません。 そのため効果音等には向いていません。 効果音を制御するような用途としては、 fk_AudioOggBuffer, fk_AudioWavBuffer が適しています。

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

参照
fk_AudioBase, fk_AudioOggBuffer, fk_AudioWavBuffer

コンストラクタとデストラクタ

fk_AudioStream::fk_AudioStream ( void  )

コンストラクタ

virtual fk_AudioStream::~fk_AudioStream ( )
virtual

デストラクタ

関数

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

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

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

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

fk_AudioBaseを実装しています。

bool fk_AudioStream::ready ( void  )
virtual

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

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

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

fk_AudioBaseを実装しています。

bool fk_AudioStream::play ( void  )
virtual

再生関数

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

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

fk_AudioBaseを実装しています。

double fk_AudioStream::tell ( void  )
virtual

再生位置取得関数

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

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

fk_AudioBaseを実装しています。

void fk_AudioStream::seek ( double  time)
virtual

再生位置頭出し関数

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

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

fk_AudioBaseを実装しています。

void fk_AudioStream::stop ( void  )
virtual

停止関数

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

参照
fk_AudioBase::pause()

fk_AudioBaseを実装しています。

void fk_AudioStream::end ( void  )
virtual

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

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

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

fk_AudioBaseを実装しています。