監視カメラに搭載のマイク、スピーカー使用方法
・ 目次
▼アプリケーション(Hik-Connect)によるマイク、スピーカーの制御
▼スピーカー接続方法
▼イヤホンジャックの GND(グランド)の位置
▼マイク、スピーカーの使用イメージ
▼マイク、スピーカー(オーディオ)関連の SDK 使用方法
▼NET_DVR_XML_CONFIG_INPUT の構造
▼NET_DVR_XML_CONFIG_OUTPUT の構造
▼JSON_AudioAlarm:JSON 形式の AudioAlarm メッセージの形式
▼JSON_AudioAlarmCap:音声警告構成機能に関する JSON メッセージの形式
▼双方向オーディオ(Two-Way Audio) API
▼オーディオ関連API、メッセージ、Request URI
アプリケーション(Hik-Connect)によるマイク、スピーカーの制御
本体から伸びている白いケーブルの途中より、色の付いたリード線を束にした状態でラベルが貼られています。
ラベルには、以下の内容が記載されております。
PINK AUDIO_OUT
BLACK AUDIO_GND
そのため、黒とピンクのリード線をスピーカーの入力に接続します。
外部マイクを使う場合は、AUDIO_IN と AUDIO_GND に接続します。
GND(グランド)は、正しく接続する必要があります。
イヤホンジャックが 2極の場合、先端(中心)から離れた方が GND になります。
イヤホンジャックが 3極の場合、先端から順に L、R、GND になっています。
API
NET_DVR_STDXMLConfig 関数
リクエスト URL を XML または、JSON 形式で送信し、結果を受信します。
BOOL NET_DVR_STDXMLConfig(
LONG lUserID,
const NET_DVR_XML_CONFIG_INPUT *lplnputParam,
NET_DVR_XML_CONFIG_OUTPUT *lpOutputParam
);
メッセージ送信API(NET_DVR_STDXMLConfig)の入力パラメータの構造
メンバー名 | 型 | 説明 |
dwSize | DWORD | 構造体のサイズ |
lpRequestUrl | void* | 各種機能を実装するためのリクエスト URL(コマンド)を文字列形式で指定する |
dwRequestUrlLen | DWORD | リクエスト URL のサイズ |
lplnBuffer | void* | 入力パラメータ(リクエストメッセージ)を保存するためのバッファ NET_DVR_MIME_UNIT の入力コンテンツの詳細構造を参照してください |
dwlnBufferSize | DWORD | 入力バッファのサイズ |
dwRecvTimeOut | DWORD | 受信タイムアウト、単位:ミリ秒、0 ~ 5000 ミリ秒 (デフォルト) |
byForceEncrpt | BYTE | 強制暗号化を有効にするかどうか (メッセージは送信時に AES アルゴリズムによって暗号化されます):0 – いいえ、1 – はい |
byNumOfMultiPart | BYTE | メッセージセグメントの数:0 – 無効 その他の値 – 構造体 NET_DVR_MIME_UNIT のパラメータ lplnBuffer によって送信されるメッセージセグメントの数 |
byRes | Array of BYTE | 予約済み、0 に設定します |
メッセージ送信API(NET_DVR_STDXMLConfig)の出力パラメータの構造
メンバー名 | 型 | 説明 |
dwSize | DWORD | 構造体のサイズ |
lpOutBuffer | void* | 出力パラメータ(応答メッセージ)を保存するためのバッファ GET メゾットで URL を渡すときに割り当てられます |
dwOutBufferSize | DWORD | 出力バッファのサイズ |
dwReturnedXMLSize | DWORD | 応答メッセージの実際のサイズ |
lpstatusBuffer | void* | 応答ステータス(ResponseStatus メッセージ) GET オペレーションの実行が成功した場合、このパラメータは割り当てられません 必要ない場合は、「NULL」に設定することもできます |
dwStatusSize | DWORD | 応答ステータスバッファのサイズ |
lpDataBuffer | HPR_VOIDPTR | 送信データ用のバッファ このパラメータは、byNumOfMultiPart の値が 0 より大きい場合に有効です |
byNumOfMultiPart | HPR_UINT8 | メッセージが分割される部分の数 |
byRes[23] | BYTE | 予約済み、0 に設定します |
JSON_AudioAlarm:JSON 形式の AudioAlarm メッセージの形式
変数名 | 説明 | ||
audioID | オーディオ ID:アラーム音の種類 1:サイレン 2:「警告、ここは立ち入り禁止エリアです」 3:「警告、ここは立ち入り禁止エリアです、近づかないでください」 4:「警告、ここは駐車禁止ゾーンです」 5:「警告、ここは駐車禁止ゾーンです、近づかないでください」 6:「注意してください、このエリアは監視下にあります」 7:「ようこそ、このエリアは監視下にありますのでご注意ください」 8:「ようこそ」 9:「危険です、離れてください」 10:サイレン + 「危険です、離れてください」 11:音声警告 12:ビープ音 13:カスタム アラーム音1 14:カスタム アラーム音2 15:カスタム アラーム音3 |
||
audioVolume | オーディオボリューム 1 から 100 まで |
||
alarmTimes | アラームの回数 1 から 100 まで |
||
TimeRangeList | 時間範囲リスト | ||
week | 曜日 | ||
TimeRange | 時間範囲 | ||
id | 時間範囲の ID | ||
beginTime | 開始時間 | ||
endTime | 終了時間 | ||
audioClass | 読み取り専用 文字列:サウンドタイプ “alertAudio”:アラームサウンド “promptAudio”:プロンプトサウンド “customAudio”:カスタムサウンド |
||
alertAudioID | 読み取り専用、アラーム音 ID、このノードは audioClass が alertAudio の場合にのみ有効です 1:サイレン 2:「警告、ここは立ち入り禁止エリアです」 3:「警告、ここは制限エリアです、制限区域です、近づかないでください」 4:「警告、ここは駐車禁止区域です」 5:「警告、ここは駐車禁止区域です、近づかないでください」 6:「注意してください、この区域は監視下にあります」 7:「ようこそ、このエリアは監視下にありますのでご注意ください」 8:「ようこそ」 9:「危険です、近づかないでください」 10:サイレン + 「危険です、近づかないでください」 11:音声警告 |
||
customAudioID | 読み取り専用、カスタム サウンド ID audioClass が「customAudio」の場合、このノードが返されます アラーム音ファイルは、指定された形式で Guarding Vision 経由でのみアップロードできます このノードに値が返されない場合、カスタムサウンド(customAudio)も返されません |
||
alarmType | オプション 文字列:アラームタイプ “behavior”:行動分析 “thermometry”:温度測定 “dynamicFire”:火災検知 “smokingMode”:煙検知 “noMaskDetection”:マスク非着用検知 “AIOP”:AI オープンプラットフォームイベント “PQA”:人数例外(人数密度検出のサブタイプ) AlarmType は、audioID にリンクされている必要があります |
JSON_AudioAlarmCap:音声警告構成機能に関する JSON メッセージの形式
変数名 | 説明 | |
audioTypeListCap | オーディオ ID:アラーム音の種類 1:サイレン 2:「警告、ここは立ち入り禁止エリアです」 3:「警告、ここは立ち入り禁止エリアです、近づかないでください」 4:「警告、ここは駐車禁止ゾーンです」 5:「警告、ここは駐車禁止ゾーンです、近づかないでください」 6:「注意してください、このエリアは監視下にあります」 7:「ようこそ、このエリアは監視下にありますのでご注意ください」 8:「ようこそ」 9:「危険です、離れてください」 10:サイレン + 「危険です、離れてください」 11:音声警告 12:ビープ音 13:カスタム アラーム音1 14:カスタム アラーム音2 15:カスタム アラーム音3 16:AI カスタムオーディオファイル |
|
[0] | audioID | 1 |
audioDescription | “siren” | |
[1] | audioID | 2 |
audioDescription | “Warning, this is a restricted area” | |
[2] | audioID | 3 |
audioDescription | “Waring, this is a restricted area, please keep away” | |
audioVolume | オーディオボリューム 1 から 100 まで、デフォルトは 100 |
|
alarmTimes | アラームの回数 1 から 50 まで、デフォルトは 5 |
|
TimeRangeCap | 音声警告スケジュール機能 | |
week | 1:Monday 2:Tuesday 3:Wednesday 4:Thursday 5:Friday 6:Saturday 7:Sunday |
|
id | その日の時間帯の ID | |
beginTime | “00:00” ~ “24:00” | |
endTime | “00:00” ~ “24:00” | |
audioClass | 読み取り専用 文字列:サウンドタイプ “alertAudio”:アラームサウンド (サポートされているアラームサウンドタイプを AlertAudioTypeListCap ノードから取得します) “promptAudio”:プロンプトサウンド “customAudio”:カスタムサウンド (customAudioID に従って構成します、このノードが返されない場合は、audioTypeListCap ノードからサポートされているサウンドタイプを取得する必要があります) |
|
customAudioID | 1 から 3 まで、デフォルトは 1 読み取り専用、カスタムサウンド ID このノードは、audioClass が「customAudio」の場合に返されます アラーム音ファイルは、指定された形式で Guarding Vision 経由でのみアップロードできます このノードに値が返されない場合、カスタムサウンド(customAudio)も返されません |
|
AlertAudioTypeListCap | ||
[0] | alertAudioID | 1 |
alertAudioDescription | “Siren” | |
[1] | alertAudioID | 2 |
alertAudioDescription | “Warning, this is a restricted area” | |
[2] | alertAudioID | 3 |
alertAudioDescription | “Warning, this is a restricted area, please keep away” | |
alarmType | behavior,thermometry,dynamicFire,smokingMode,noMaskDetection,AIOP,PQA、デフォルト:thermometry behavior:行動分析 thermometry:温度測定 dynamicFire:火災検知 smokingMode:煙検知 noMaskDetection:マスク非着用検知 AIOP:AI オープンプラットフォームイベント PQA:人数例外 (人数密度検出のサブタイプ) |
|
AlarmBindAudioList | ||
alarmType | アラームの種類 behavior:行動分析 thermometry:温度測定 dynamicFire:火災検知 smokingMode:煙検知 noMaskDetection:マスク非着用検知 AIOP:AI オープンプラットフォームイベント PQA:人数例外 (人数密度検出のサブタイプ) |
|
audioID | 警報タイプに対応する音響警報タイプ ID 行動分析は 1 ~ 12 に対応 温度測定は 13 に対応 火災検知は 14 に対応 煙検知は 15 に対応 |
|
isSupportCustomAudio | true | |
isSupportAudioTest | true | |
customAudioName | カスタムサウンドファイルの名前、最大サイズは 24 バイトです | |
isSupportCustomAudioFormatinfo | true | |
isSupportCustomAudioURL | true | |
isSupportCustomAudioFiles | true |
関数名 | 説明 |
NET_DVR_AddDVR_V30 | PC からの音声を受信するためにデバイスの音声チャンネルをブロードキャストグループに追加します |
NET_DVR_ClientAudioStart_V30 | 音声ブロードキャスト用に PC から音声を収集できるようにします |
NET_DVR_ClientAudioStop | 音声ブロードキャストのために PC から音声を収集するのを停止します |
NET_DelDVR_V30 | デバイスのオーディオチャネルをブロードキャストグループから削除します |
NET_DVR_GetCurrentAudioCompress_V50 | 双方向オーディオの効果的なオーディオエンコーディングパラメータを取得します |
NET_DVR_EncodeMP3Frame | MP3 音声データをエンコードします |
NET_DVR_DecodeMP3Frame | MP3 音声データをデコードします |
NET_DVR_InitG711Encoder | G.711 オーディオエンコーディング用のリソースを初期化します この API は Linux オペレーティングシステムでのみ使用できます |
NET_DVR_EncodeG711Frame | G.711 モードでオーディオをエンコードします |
NET_DVR_ReleaseG711Encoder | G.711 オーディオエンコーディングのリソースをリリースします この API は Linux オペレーティングシステムでのみ使用できます |
NET_DVR_InitG711Decoder | G.711 エンコード用のオーディオデータをデコードするためのリソースを初期化します この API は Linux オペレーティングシステムでのみ使用できます |
NET_DVR_DecodeG711Frame | 音声を G711 形式にデコードします |
NET_DVR_ReleaseG711Decoder | オーディオデコード(G.711 エンコード用)のリソースを解放します この API は Linux オペレーティングシステムでのみ使用できます |
NET_DVR_InitG722Encoder | G.722 オーディオエンコーディング用のリソースを初期化します |
NET_DVR_EncodeG722Frame | G.722 モードでオーディオをエンコードします |
NET_DVR_ReleaseG722Encoder | G.722 オーディオエンコーディングのリソースをリリースします この API は Windows と Linux の両方のオペレーティングシステムで利用できます |
NET_DVR_InitG722Decoder | G.722 エンコード用のオーディオデータをデコードするためのリソースを初期化します |
NET_DVR_DecodeG722Frame | オーディオを G722 形式にデコードします |
NET_DVR_ReleaseG722Decoder | オーディオデコード(G.722 エンコード用)のリソースを解放します この API は Windows と Linux の両方のオペレーティングシステムで利用できます |
NET_DVR_InitG726Encoder | G.726 オーディオエンコーディング用のリソースを初期化します この API は Windows と Linux の両方のオペレーティングシステムで利用できます |
NET_DVR_EncodeG726Frame | G.726 モードでオーディオをエンコードします この API は Windows と Linux の両方のオペレーティングシステムで利用できます |
NET_DVR_ReleaseG726Encoder | G.726 オーディオエンコーディングのリソースをリリースします この API は Windows と Linux の両方のオペレーティングシステムで利用できます |
NET_DVR_InitG726Decoder | G.726 エンコード用のオーディオデータをデコードするためのリソースを初期化します この API は Windows と Linux の両方のオペレーティングシステムで利用できます |
NET_DVR_DecodeG726Frame | オーディオを G726 形式にデコードします この API は Windows と Linux の両方のオペレーティングシステムで利用できます |
NET_DVR_ReleaseG726Decoder | オーディオデコード(G.726 エンコード用)のリソースを解放します この API は Windows と Linux の両方のオペレーティングシステムで利用できます |
NET_DVR_SetVoiceDateCallBack | 音声データを収集するためのコールバック関数を設定します |
NET_DVR_StartVoiceCom_MR_V30 | 音声転送機能を有効にして、エンコードされた音声データを取得します |
NET_DVR_StartVoiceCom_V30 | 双方向オーディオ機能を有効にします |
NET_DVR_StopVoiceCom | 双方向音声または音声の転送を停止します |
NET_DVR_VoiceComSendData | 音声データを転送します |
種別 | 名称 | 説明 |
XML 形式メッセージ | XML_TwoWayAudioChannelList | XML 形式の双方向オーディオチャネルリストメッセージ |
XML_TwoWayAudioChannel | XML 形式の双方向オーディオチャネルメッセージ | |
XML_Cap_AudioVideoCompressInfo | XML 形式の AudioVideoCompressInfo 機能メッセージ | |
Request URI | /ISAPI/System/TwoWayAudio/channels | 全ての双方向オーディオチャネルのオーディオパラメータを取得します |
JSON 形式のメッセージ | JSON_AudioAlarm | JSON 形式の AudioAlarm メッセージ |
JSON_AudioAlarmCap | 音声警告構成機能に関する JSON メッセージ | |
API | NET_DVR_COMPRESSION_AUDIO | |
NET_DVR_GetCurrentAudioCompress_V50 | 双方向オーディオの効果的なオーディオエンコーディングパラメータを取得します | |
NET_DVR_STDXMLConfig | リクエスト URL を XML または JSON 形式で送信し、いくつかの一般的な機能を実装します |