TDDSDChannel

タスク

 TDDSDオブジェクトにChannelsプロパティとして含まれているTDDSDChannelオブジェクトは、同時に一チャンネル分の発音を行います。

 

リファレンス目次

プロパティ

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

波形データ WaveData
設定 SrcFreq
FreqRate
Pan
Params3D
Volume
ステータス Status
その他 Buffer

 

メソッド

再生 Play
PlayAt
繰り返し再生 LoopPlay
LoopPlayAt
停止 Stop

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

WaveData

property WaveData:TDDSDGenWave;

 Playメソッドによって再生される波形データを示します。

 TDDSDGenWaveクラスは、TDDSDWaveDataクラスとTDDSDWave3Dクラスの親となるクラスで、その両方のクラスのインスタンスとの代入互換性があります。

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;

 

SrcFreq

roperty SrcFreq:DWORD;

 原音の周波数を示す、読み出し専用プロパティです。セットされたWaveDataによって変わります。

 

FreqRate

property FreqRate:Double;

 WaveDataプロパティによってセットされた波形データを再生する際の、原音に対する周波数の比率を設定します。

 2.0を指定すると、原音より一オクターブ高い音になり、0.5を指定すると原音より一オクターブ低い音になります。

 

Pan

property Pan:Integer;

パン(音がスピーカーの左右どちら寄りに聞こえるか)を設定します

 

Params3D

property Params3D:TDDSDParams3D;

 音源データの仮想空間内での、位置、速度、音の広がりかたといったパラメータを設定・取得するためのプロパティです。

 TDDSDWave3Dオブジェクトが、WaveDataプロパティに代入されると、WaveDataに指定されたWaveData3DオブジェクトのParams3Dプロパティが、このプロパティに自動的に代入されます。

procedure Wave3DTest;
var
  wav1,wav2:Wave3D;
begin
  //wav1にサイレンの音を読み込みます
  wav1:=TDDSDWave3D.Create(DDSD1,'silen.wav');

  //wav2に、メガホンの音を読み込みます
  wav2:=TDDSDWave3D.Create(DDSD1,'megahon.wav');
  wav2.Params3D.ConeAngle.Inside:=60;
  wav2.Params3D.ConeAngle.Outside:=120; //指向性を付けます
  wav2.Params3D.ConeOutsideVolume:=-4000; //コーンの外側では-40dBの減衰

  //サイレンの音を鳴らします
  DDSD1[0].WaveData:=wav1;
  DDSD1[0].Play;

  //メガホンの音を鳴らします。
  DDSD1[0].WaveData:=wav2;

  DDSD1[0].Play; //指向性があります(ヘルプじゃ聞こえないけど(^^;))

end;

 

Volume

property Volume:Integer;

 再生時の原音に対する相対的な音量を示します。

 単位は1/100dBで、マイナスの値を指定すると音が減衰しますが、プラスの値を指定しても、特に何もおきません(アンプ機能は未サポートだそうです)

 

Status

property Status:DWORD;

 チャンネルの再生状態を示す、読み出し専用プロパティです。

 以下の値の和によって演奏状態を表します。


DSBSTATUS_LOOPING…ループ再生中です
DSBSTATUS_PLAYING…再生中です


Buffer

property Buffer:IDirectSoundBuffer;

 このチャンネルの持つIDirectSoundBufferを表します。このプロパティはDDSDコンポーネントでは出来ない事をする時のための、拡張用です。

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

 

リファレンス〜メソッド

Play

procedure Play;

 WaveDataプロパティで設定された波形データを再生します。

注意

 一部の環境では、Playメソッドを実行する前に、Stopメソッドを実行しないと、正しく再生が出来ない場合があるそうです。

 一方で、Playメソッドの前にStopメソッドを挟むと不要なウェイトのかかってしまう環境もあります。

PlayAt

procedure PlayAt(ofs:DWord);

 WaveDataプロパティで設定された波形データをofsバイト目から再生します。

 

LoopPlay

procedure LoopPlay;

 WaveDataプロパティで設定された波形データを、Stopメソッドが呼ばれるまで繰り返し再生します。

 

LoopPlayAt

procedure LoopPlayAt(ofs:DWord);

 WaveDataプロパティで設定された波形データを、Stopメソッドが呼ばれるまでofsバイト目から繰り返し再生します。

 

Stop

procedure Stop;

 波形データの再生を停止します。