USE_AUDIO 定数を define してから NtKinect.h を include する と NtKinect の音声関係のメソッドや変数が有効になります。
setAudio() 関数を呼び出すことで音声が取得され、録音中ならば音声データがファイルに書き込まれます。 録音の開始はファイルのパスを指定して openAudioFile(string)関数を呼出、 録音の終了では closeAudioFile()を呼び出します。
返り値の型 | メソッド名 | 説明 |
---|---|---|
void | setAudio(bool flag = false) |
音声を取得し、録音中ならファイルに保存する。
|
void | drawAudioDirection(cv::Mat& image ) | 音声ビームの方向を image に描画する。 |
bool | isOpenedAudio() | 録音ファイルをopen中かどうかを返す。 |
void | openAudio(string path ) | path を録音用ファイルとしてオープンする。 |
void | closeAudio() | 録音用ファイルをクローズする。 |
型 | 変数名 | 説明 |
---|---|---|
float | beamAngle | 音声の方向(左右への角度) |
float | beamAngleConfidence | beamAngleの信頼度 (0.0 〜 1.0) |
UINT64 | audioTackingId | 発話者のskeletonTrackingId |
Microsoft が配布している AudioCaptureRaw-Console C++ Sample の WaveFile.h を少し変更したものをプロジェクトに加えます。
もしもプロジェクトに既存のファイル追加してもincludeできないというエラーが起きる場合は、追加したファイルを 一旦削除してから、「ソリューションエクスプトーラー」の「ヘッダーファイル」を右クリックして メニューの中から「追加」「新しい項目」「VisualC++のヘッダーファイル(.h)」で 「名前」に"WaveFile.h"を指定して下さい。 新たに作成されたファイルにダウンロードしたファイルの内容をコピーして下さい。
NtKinect.hをincludeする前に USE_AUDIO 定数をdefineします。 録音開始は openAudioFile()関数、録音終了は closeAudioFile()を呼び出します。 音声の取得は setAudio()関数で行いますが、録音中は自動的にファイルに保存されます。
下のプログラム例では、現在時刻を取得して、 それをファイル名(例 "2016-07-18_09-16-32.wav")とする wav ファイルを作成しています
main.cpp |
|
'r'キーで録音開始、's'キーで録音停止です。 RGB画像の左上に録音状態が "Recording" または "Stopped" と表示されます。
上記のzipファイルには必ずしも最新の NtKinect.h が含まれていない場合があるので、 こちらから最新版をダウンロードして 差し替えてお使い下さい。