AddBuffer メソッド
再生のためのバッファをデバイスに追加します。デバイスが開いていないときは、利用できません。
構文
object.AddBuffer bufferindex[, bufferlen]
AddBuffer メソッドの構文の指定項目は次のとおりです。
指定項目 | 内容 |
---|---|
object | 必ず指定します。WaveOut コントロールを指すオブジェクト式を指定します。 |
bufferindex | 必ず指定します。バッファのインデックスを指定します。 |
bufferlen | 省略可能です。再生するバッファのサイズを指定します。 |
解説
再生のためのバッファをデバイスに追加します。再生するデータはあらかじめ、SetData メソッドによりバッファにコピーしておきます。再生が停止している状態で AddBuffer メソッドを呼び出すと、直ちに再生が開始されます。再生が直ちに開始されないようにするには、AddBuffer メソッドを呼び出す前に、Pause メソッドを呼び出しておき、実際に再生を開始するときに Restart メソッドを呼び出します。デバイスが開いていない場合、または追加するバッファがない場合 (NumBuffers プロパティの値が 0 の場合) は、エラーが発生します。
OnDone イベント プロシージャ内で、バッファを追加するときにもこのメソッドを用います。OnDone イベント プロシージャで AddBuffer メソッドを呼び出すときは、イベントの引数である bStopped の値が False であることを確認してください。
bufferindex には、バッファのインデックスを指定します。この値は、0 ~ (NumBuffers プロパティの値 – 1) の範囲の値です。OnDone イベント プロシージャ内でこのメソッドを呼び出す場合は、イベントの引数として渡される、BufferIndex を指定します。
bufferlen を指定すると、実際に再生されるバッファのサイズ (0 ~ BufferSize プロパティの値の間) を制限できます。この引数を省略した場合は、バッファ全体のデータが再生されます。この引数は、バッファいっぱいにデータが詰まっていない場合に便利です。
Close メソッド
デバイスを閉じ、ほかのアプリケーションがデバイスを使用できるようにします。
構文
object.Close
object は、WaveOut コントロールを指すオブジェクト式です。
解説
デバイスを使い終わったら、必ずデバイスを閉じて、ほかのアプリケーションがデバイスを使用できるようにしてください。
Position プロパティの値は 0 にリセットされます。
デバイスが開いていない状態で Close メソッドを呼び出しても、エラーは発生しません。
参照
CnvBytesToMillisec メソッド
バイト数からミリ秒へ単位を換算します。
構文
object.CnvBytesToMillisec (bytes)
CnvBytesToMillisec メソッドの構文の指定項目は次のとおりです。
指定項目 | 内容 |
---|---|
object | 必ず指定します。WaveOut コントロールを指すオブジェクト式を指定します。 |
bytes | 必ず指定します。バイト単位の数値を長整数型 (Long) で指定します。 |
戻り値の型
長整数型 (Long)
解説
bytes に指定したバイト数を、時間に換算すると何ミリ秒に当たるかを返します。この換算は、BitsPerSample プロパティ、Channels プロパティ、SamplesPerSec プロパティの値に基づいて行われます。
CnvBytesToSamples メソッド
バイト数からサンプル数へ単位を換算します。
構文
object.CnvBytesToSamples (bytes)
CnvBytesToSamples メソッドの構文の指定項目は次のとおりです。
指定項目 | 内容 |
---|---|
object | 必ず指定します。WaveOut コントロールを指すオブジェクト式を指定します。 |
bytes | 必ず指定します。バイト単位の数値を長整数型 (Long) で指定します。 |
戻り値の型
長整数型 (Long)
解説
bytes に指定したバイト数を、サンプル数に換算すると何サンプルに当たるかを返します。この換算は、BitsPerSample プロパティ、Channels プロパティの値に基づいて行われます。
CnvMillisecToBytes メソッド
ミリ秒からバイト数へ単位を換算します。
構文
object.CnvMillisecToBytes (millisec)
CnvMillisecToBytes メソッドの構文の指定項目は次のとおりです。
指定項目 | 内容 |
---|---|
object | 必ず指定します。WaveOut コントロールを指すオブジェクト式を指定します。 |
millisec | 必ず指定します。ミリ秒単位の数値を長整数型 (Long) で指定します。 |
戻り値の型
長整数型 (Long)
解説
millisec に指定した時間 (ミリ秒) を、バイト数に換算すると何バイトに当たるかを返します。この換算は、BitsPerSample プロパティ、Channels プロパティ、SamplesPerSec プロパティの値に基づいて行われます。
CnvSamplesToBytes メソッド
サンプル数からバイト数へ単位を換算します。
構文
object.CnvSamplesToBytes (samples)
CnvSamplesToBytes メソッドの構文の指定項目は次のとおりです。
指定項目 | 内容 |
---|---|
object | 必ず指定します。WaveOut コントロールを指すオブジェクト式を指定します。 |
samples | 必ず指定します。サンプル数を長整数型 (Long) で指定します。 |
戻り値の型
長整数型 (Long)
解説
samples に指定したサンプル数を、バイト数に換算すると何バイトに当たるかを返します。この換算は、BitsPerSample プロパティ、Channels プロパティの値に基づいて行われます。
GetBufferAddress メソッド
再生用バッファのアドレス (ポインタ) を取得します。
構文
object.GetBufferAddress (bufferindex)
GetBufferAddress メソッドの構文の指定項目は次のとおりです。
指定項目 | 内容 |
---|---|
object | 必ず指定します。WaveOut コントロールを指すオブジェクト式を指定します。 |
bufferindex | 必ず指定します。バッファのインデックスを整数型 (Integer) で指定します。 |
戻り値の型
長整数型 (Long)
解説
Windows API の呼び出しや、ヘルパー関数である wifSetDataAny 関数の呼び出しなどで、バッファへのポインタが必要となる場合に、このメソッドを使用します。
Open メソッド
ウェーブ出力デバイスを開きます。
構文
object.Open
object は、WaveOut コントロールを指すオブジェクト式です。
解説
サウンドの再生を行うためには、まずデバイスを開かなければなりません。
開こうとしているデバイスが、すでに使用中などの理由で開けない場合は、エラーが発生します。また、Open メソッドによりデバイスがすでに開いている場合にも、エラーが発生します。
参照
Pause メソッド
再生を一時停止します。デバイスが開いていないときは、利用できません。
構文
object.Pause
object は、WaveOut コントロールを指すオブジェクト式です。
解説
初めて AddBuffer メソッドを呼び出す前にこのメソッドを呼び出しておくと、AddBuffer メソッドでバッファを追加しても、Retart メソッドを呼び出すまで再生は開始されません。
再生の途中でこのメソッドを呼び出しても、Position プロパティの値はリセットされません。また、デバイス内にあるバッファは解放されません。再生を再開するには、Retart メソッドを呼び出します。
デバイスが開いていない場合は、エラーが発生します。
QueryOpen メソッド
ウェーブ出力デバイスを開けるかどうかを調べます。
構文
object.QueryOpen ( )
object は、WaveOut コントロールを指すオブジェクト式です。
戻り値の型
ブール型 (Boolean)
解説
QueryOpen メソッドは、実際にデバイスを開かずに、デバイスを開けるかどうかをブール型で返します。このメソッドを呼び出した後に、Close メソッドを呼び出す必要はありません。
参照
Restart メソッド
再生を再開します。デバイスが開いていないときは、利用できません。
構文
object.Restart
object は、WaveOut コントロールを指すオブジェクト式です。
解説
Pause メソッドを呼び出し、一時停止した後に Restart メソッドを呼び出すと、再生が再開されます。
デバイスが開いていない場合は、エラーが発生します。
SetData メソッド
サウンド データを再生用のバッファにコピーします。
構文
object.SetData data, bufferindex[, maxlen]
SetData メソッドの構文の指定項目は次のとおりです。
指定項目 | 内容 |
---|---|
object | 必ず指定します。WaveOut コントロールを指すオブジェクト式を指定します。 |
data | 必ず指定します。再生するサウンド データが格納されている、バイト型 (Byte)、整数型 (Integer)、長整数型 (Long) のいずれかの配列を指定します。空の配列は指定できません。 |
bufferindex | 必ず指定します。コピー先のバッファのインデックスを指定します。 |
maxlen | 省略可能です。コピーするデータの最大サイズを指定します。 |
解説
再生するデータを配列変数からバッファにコピーします。再生を開始するとき、および OnDone イベント プロシージャ内で使用します。
data には、再生するサウンド データが格納されている配列を指定します。空の配列 (要素数を指定せずに宣言した配列) は指定できません。
bufferindex で、コピー先のバッファを指定します。OnDone イベント プロシージャ内で使用する場合は、イベントの引数として渡される BufferIndex を指定します。
maxlen でコピーするバイト数を指定します。この引数を省略すると、コピー可能な最大のバイト数がコピーされます。
Stop メソッド
再生を停止します。
構文
object.Stop
object は、WaveOut コントロールを指すオブジェクト式です。
解説
Stop メソッドを呼び出すと、再生は停止し、バッファ内に残っているバッファはすべて解放されます。また、Position プロパティの値は 0 にリセットされます。
再生がすでに停止している場合、またデバイスが閉じている状態でこのメソッドを呼び出しても、エラーは発生しません。