TDDSD

タスク

 TDDSDオブジェクトは、DirectSoundをカプセル化します

 

リファレンス目次

プロパティ

(凡例:    読み取り専用   Published)

チャンネル ChannelCount
Channels
3D Listener
Use3D
設定 StickyFocus
その他 DSound
PrimaryBuffer
Initialized
DebugOption

 

メソッド

初期化 ForceInitialize
設定 SetPrimaryBufferFormat

 

リファレンス〜プロパティ

ChannelCount

property ChannelCount:DWORD default 8;

 音声を再生するチャンネルの数です。

 同時に再生できる効果音の数が決定されます。

 

Channels

property Channels[iCh:Integer]:TDDSDChannel default;

 音を鳴らすためのチャンネルを表します。iChの範囲は0〜ChennelCount-1です。

 デフォルト配列プロパティなので、記述を省略できます。



 DDSD1というTDDSDオブジェクトがあるとします。

precedure DDSDSamp1;
var
  Wave1:TDDSDWaveData;
begin
  Wave1:=TDDSDWaveData.Create(DDSD1,'foo.wav'); //foo.wavからWave1というWaveDataを作る

  DDSD1.Channels[0].WaveData:=Wave1; //Ch#0にWave1を載せる
  DDSD1[0].Play; //再生する .Channels を書く事は省略可
end;

 

Listener

property Listener:TDDSDListener;

 DirectSound3Dが想定する仮想空間での、リスナーの位置・向き・速度といった情報を設定,取得するためのオブジェクトです。

 

Use3D

property Use3D:Boolean default False;

 3D効果を使うかどうかを示します。

 Trueならば3D効果を使います。

 

StickyFocus

property StickyFocus:Boolean default True;

 Trueならば、アプリケーションがフォーカスを失っても、効果音を鳴らし続けます。

 Falseならば、アプリケーションにフォカスが無い場合は効果音を鳴らしません。

 実行時にこのプロパティを変更することは出来ません。

 

DSound

property DSound:IDirectSound8 read FDSound;

 DirectSoundオブジェクトを表します。このプロパティはDDSDコンポーネントでは出来ない事をする時のための、拡張用です。

 詳しい使い方は、DirectSoundに関する資料を各自で調べてくださいm(__)m

 

PrimaryBuffer

property PrimaryBuffer:IDirectSoundBuffer;

 DirectSoundの一次バッファを表します。このプロパティはDDSDコンポーネントでは出来ない事をする時のための、拡張用です。

 詳しい使い方は、DirectSoundに関する資料を各自で調べてくださいm(__)m

 

Initialized

property Initialized:Boolean;

 DirectSoundが初期化できたかどうかを示します。

 もしこのプロパティがFalseだった場合、コンポーネント初期化時にWaveデバイスが他のアプリケーションによって占有中だったか、あるいはサウンドカードが無い事が考えられます。

 前者による理由でこのプロパティがFalseになった場合、適宜ForceInitializeメソッドを呼び、コンポーネントの再初期化を行ってください。

 

DebugOption

property DebugOption:TDDSDDebugOption;

TDDSDDebugOption = Set of (dsoHaltOnError, dsoExceptOnError, dsoDebugMessage);

 デバッグ用のメッセージ出力を制御します。

dsoHaltOnError
 DirectXモジュールの制御上、何らかのエラーが発生すると、アプリケーションを強制終了します

dsoExceptOnError
 DirectXモジュールの制御上、何らかのエラーが発生すると、例外を発生します

dsoDebugMessage
 DirectXモジュールの制御上、何らかのエラーが発生すると、エラーの内容について、DDSD_DebugLog.txtというファイル名で、アプリケーションのあるディレクトリと同じディレクトリに書き出します。

 

リファレンス〜メソッド

ForceInitialize

function ForceInitialize:Boolean;

 DDSDコンポーネントの再初期化を行います。これにはDirectSoundの初期化も含まれます。

 DirectSoundの初期化が成功した場合はTrueが、失敗した場合にはFalseが返ります。

 

SetPrimaryBufferFormat

SetPrimaryBufferFotmat(freq, bps: DWord; isStereo: Boolean);


 プライマリバッファのフォーマットを設定します。

 freqで示されるサンプリング周波数(Hz単位)、bpsで示される量子化数(ビット単位)になり、isStereoにTrueを指定するとステレオ、Falseを指定するとモノラルになります。

 波形データは全て、一旦プライマリバッファのフォーマットに変換されてからプライマリバッファに転送されて、その上で再生されるので、波形データの再生品質の上限が、このメソッドで決定されます。

 プライマリバッファのフォーマットを、44100Hz、16ビット、ステレオに設定します

 DDSD1.SetPrimaryBufferFotmat(44100, 16, True);


 プライマリバッファのフォーマットを、22050Hz、8ビット、モノラルに設定します。

 DDSD1.SetPrimaryBufferFotmat(22050, 8, False);