メソッド (WaveOut コントロール)

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 メソッドを呼び出しても、エラーは発生しません。

参照

Open メソッド

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 メソッドによりデバイスがすでに開いている場合にも、エラーが発生します。

参照

QueryOpen メソッド

Pause メソッド

再生を一時停止します。デバイスが開いていないときは、利用できません。

構文

object.Pause

object は、WaveOut コントロールを指すオブジェクト式です。

解説

初めて AddBuffer メソッドを呼び出す前にこのメソッドを呼び出しておくと、AddBuffer メソッドでバッファを追加しても、Retart メソッドを呼び出すまで再生は開始されません。

再生の途中でこのメソッドを呼び出しても、Position プロパティの値はリセットされません。また、デバイス内にあるバッファは解放されません。再生を再開するには、Retart メソッドを呼び出します。

デバイスが開いていない場合は、エラーが発生します。

QueryOpen メソッド

ウェーブ出力デバイスを開けるかどうかを調べます。

構文

object.QueryOpen ( )

object は、WaveOut コントロールを指すオブジェクト式です。

戻り値の型

ブール型 (Boolean)

解説

QueryOpen メソッドは、実際にデバイスを開かずに、デバイスを開けるかどうかをブール型で返します。このメソッドを呼び出した後に、Close メソッドを呼び出す必要はありません。

参照

Open メソッド

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 にリセットされます。

再生がすでに停止している場合、またデバイスが閉じている状態でこのメソッドを呼び出しても、エラーは発生しません。