ヘルパー関数 (WaveIn、WaveOut コントロール)

wifGetDataAny 関数

録音/再生用バッファの内容を、変数にコピーします。OnDone イベント プロシージャ内で使用します。

宣言

Declare Function wifGetDataAny Lib “WaveIF.ocx” (ByRef vbArray As Any, ByVal pBuffer As Long, ByVal CopySize As Long) As Long

この宣言は、WaveIF コントロールのタイプ ライブラリに含まれているため、Visual Basic Version 5.0 でご使用の場合は、Declare ステートメントで宣言する必要はありません。Visual Basic Version 4.0 でご使用の場合は、Declare ステートメントで宣言する必要があります。

構文

wifGetDataAny (vbarray, pbuffer, copysize)

wifGetDataAny 関数の構文は、次の引数から構成されます。

指定項目内容
vbarrayデータを受け取る変数を指定します。任意の型の変数を指定できます。
pbufferコピー元のバッファのアドレス (ポインタ) を指定します。このアドレスは、GetBufferAddress メソッドを呼び出して取得します。
copysizeコピーするサイズをバイト単位で指定します。このサイズは、vbarray のサイズを超えてはいけません。

戻り値

vbarray のアドレス (ポインタ) を長整数型 (Long) で返します。通常、この戻り値を使用することはありません。

解説

通常、WaveIn コントロールで録音したデータを取得するには、GetData メソッドを利用します。しかし、GetData メソッドには、データを受け取る変数として、バイト型、整数型、長整数型のいずれかの型の配列変数しか指定できません。ユーザ定義型など、GetData メソッドに対応していない型の変数にデータをコピーしたい場合に、この関数を使用します。引数 vbarray には、配列でない変数も指定できます。

pbuffer で指定されたメモリのアドレスが有効かどうか、また、copysize が適切かどうかは、チェックされません。したがって、pbuffercopysize の指定には気を付ける必要があります。これらの引数に不正な値を指定すると、アクセスの許可されていないメモリ領域へアクセスすることになり、アプリケーションが異常終了したり、システムが不安定になったりします。また、この関数を使用したコードを実行する前に、念のためソース コードの保存を行っておくことをお勧めします。

参照

wifSetDataAny 関数WaveIn_OnDone イベントWaveIn.GetBufferAddress メソッド

wifSetDataAny 関数

変数の内容を、指定したアドレスが指す、録音/再生用バッファへコピーします。OnDone イベント プロシージャ内で使用します。

宣言

Declare Function wifSetDataAny Lib “WaveIF.ocx” (ByVal pBuffer As Long, ByRef vbArray As Any, ByVal CopySize As Long) As Long

この宣言は、WaveIF コントロールのタイプ ライブラリに含まれているため、Visual Basic Version 5.0 でご使用の場合は、Declare ステートメントで宣言する必要はありません。Visual Basic Version 4.0 でご使用の場合は、Declare ステートメントで宣言する必要があります。

構文

wifSetDataAny (pbuffer, vbarray, copysize)

wifSetDataAny 関数の構文は、次の引数から構成されます。

指定項目内容
pbufferコピー先のバッファのアドレス (ポインタ) を指定します。このアドレスは、GetBufferAddress メソッドを呼び出して取得します。
vbarrayコピー元の変数を指定します。任意の型の変数を指定できます。
copysizeコピーするサイズをバイト単位で指定します。このサイズは、コピー先のバッファのサイズ (BufferSize プロパティの値) を超えてはいけません。

戻り値

pbuffer を返します。通常、この戻り値を使用することはありません。

解説

通常、WaveOut コントロールに WAVE データを設定するには、SetData メソッドを利用します。しかし、SetData メソッドには、コピー元の変数として、バイト型、整数型、長整数型のいずれかの型の配列変数しか指定できません。ユーザ定義型など、SetData メソッドに対応していない型の変数をコピーしたい場合に、この関数を使用します。引数 vbarray には、配列でない変数も指定できます。

pbuffer で指定されたメモリのアドレスが有効かどうか、また、copysize が適切かどうかは、チェックされません。したがって、pbuffercopysize の指定には気を付ける必要があります。これらの引数に不正な値を指定すると、アクセスの許可されていないメモリ領域へアクセスすることになり、アプリケーションが異常終了したり、システムが不安定になったりします。また、この関数を使用したコードを実行する前に、念のためソース コードの保存を行っておくことをお勧めします。

参照

wifGetDataAny 関数WaveOut_OnDone イベントWaveOut.GetBufferAddress メソッド