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

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

#include <CLI/FK_CLI/include/AudioStream_CLI.h>

+ FK_CLI::fk_AudioStream の継承関係図
+ FK_CLI::fk_AudioStream 連携図

公開メンバ関数

 fk_AudioStream ()
 コンストラクタ
 
 ~fk_AudioStream ()
 デストラクタ
 
 !fk_AudioStream ()
 ファイナライザ
 
virtual bool Open (String^ filename) override
 オーディオデータ読み込みメソッド
 
virtual bool Ready (void) override
 再生開始可能状態取得メソッド
 
virtual bool Play (void) override
 再生メソッド
 
virtual double Tell (void) override
 再生位置取得メソッド
 
virtual void Seek (double time) override
 再生位置頭出しメソッド
 
virtual void Stop (void) override
 停止メソッド
 
virtual void End (void) override
 オーディオデータ解放メソッド
 
- 基底クラス FK_CLI::fk_AudioBase に属する継承公開メンバ関数
 fk_AudioBase ()
 コンストラクタ
 
 ~fk_AudioBase ()
 デストラクタ
 
 !fk_AudioBase ()
 ファイナライザ
 
void Pause (void)
 ポーズメソッド
 
void SetLoopArea (double start, double end)
 ループエリア設定メソッド
 
double GetLoopStartTime (void)
 ループ開始点取得メソッド
 
double GetLoopEndTime (void)
 ループ終了点取得メソッド
 

その他の継承メンバ

- 基底クラス FK_CLI::fk_AudioBase に属する継承静的公開メンバ関数
static bool Init (void)
 オーディオシステム初期化メソッド
 
static bool GetInit (void)
 オーディオシステム初期化状態取得メソッド
 
static void Sleep (double time)
 プロセススリープメソッド
 
static void SetListenerModel (fk_Model^ model)
 サラウンドリスナー同期モデル設定メソッド
 
static fk_ModelGetListenerModel (void)
 サラウンドリスナーモデル取得メソッド
 
- 基底クラス FK_CLI::fk_AudioBase に属する継承プロパティ
double Gain [get, set]
 音量プロパティ
 
int QueueSize [get, set]
 キューバッファサイズプロパティ
 
bool LoopMode [get, set]
 ループモードプロパティ
 
fk_VectorPosition [get, set]
 サラウンド音源位置プロパティ
 
fk_ModelModel [get, set]
 サラウンド音源同期モデルプロパティ
 
double Distance [get, set]
 サラウンド音源有効距離プロパティ
 
bool SurroundMode [get, set]
 サラウンド効果状態プロパティ
 

詳解

オーディオストリームクラス

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

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

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

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

参照
fk_AudioBase, fk_AudioOggBuffer, fk_AudioWavBuffer

構築子と解体子

◆ fk_AudioStream()

FK_CLI::fk_AudioStream::fk_AudioStream ( )

コンストラクタ

◆ ~fk_AudioStream()

FK_CLI::fk_AudioStream::~fk_AudioStream ( )

デストラクタ

◆ !fk_AudioStream()

FK_CLI::fk_AudioStream::!fk_AudioStream ( )

ファイナライザ

関数詳解

◆ Open()

virtual bool FK_CLI::fk_AudioStream::Open ( String^  filename)
overridevirtual

オーディオデータ読み込みメソッド

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

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

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

◆ Ready()

virtual bool FK_CLI::fk_AudioStream::Ready ( void  )
overridevirtual

再生開始可能状態取得メソッド

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

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

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

◆ Play()

virtual bool FK_CLI::fk_AudioStream::Play ( void  )
overridevirtual

再生メソッド

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

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

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

◆ Tell()

virtual double FK_CLI::fk_AudioStream::Tell ( void  )
overridevirtual

再生位置取得メソッド

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

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

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

◆ Seek()

virtual void FK_CLI::fk_AudioStream::Seek ( double  time)
overridevirtual

再生位置頭出しメソッド

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

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

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

◆ Stop()

virtual void FK_CLI::fk_AudioStream::Stop ( void  )
overridevirtual

停止メソッド

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

参照
fk_AudioBase::Pause()

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

◆ End()

virtual void FK_CLI::fk_AudioStream::End ( void  )
overridevirtual

オーディオデータ解放メソッド

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

参照
Open(), Stop(), fk_AudioBase::Pause()

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