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