バージョン

menu_open
Wwise SDK 2023.1.9
Audio Inputソースプラグイン

このプラグインについて

オーディオデザイナーは、このプラグインによって、例えばネットワークストリームやPCまたはコンソールに接続されたマイクなど、外部ソースのオーディオを使用することができます。

プラグインの統合

Audio Input プラグインを統合するには、通常のプラグイン初期化に加えて(統合の詳細 - プラグイン 参照)、Wwiseプロジェクトで様々なインスタンスに使用される入力オーディオデータをゲーム側から提供する必要があります。これは、AkAudioInputSourceFactory.h で説明されているように、コールバックメカニズムにより実行可能です:

  • まず、ゲームが SetAudioInputCallbacks() を呼び出し、オーディオ入力のインスタンスが追加のオーディオデータを必要とする時に常に呼び出される必須の AkAudioInputPluginExecuteCallbackFunc を設定します。
    • オーディオデータが、32ビット浮動小数点値のモノラルストリームでない場合は、 AkAudioInputPluginGetFormatCallbackFunc を設定する必要があります。このコールバックは、16フレームのバッファでここに示すように左右チャンネルが格納されている、以下のフォーマットのオーディオデータのみを受け付けます:

      • インターリーブの16ビット整数( planar とも呼ばれる)
      • 非インターリーブの32ビット浮動小数点

      AkAudioInputPluginGetFormatCallbackFunc uses AkAudioFormat which can be populated as shown in the example below. AkAudioFormat consists of audio data format specifications and channel configuration AkChannelConfig.

      AkChannelConfig は、下記コールの1つを使い、設定することができます: AkChannelConfig.SetAnonymous(...) 、 AkChannelConfig.SetStandard(...) 、 AkChannelConfig.SetAmbisonic(...)

      ChannelMask: channelmask に制限はありません。標準やカスタムのchannelmaskに対応しています。

      Interleaved format (AK_INTERLEAVED) only supports AK_INT, and non-interleaved format (AK_NONINTERLEAVED) only supports AK_FLOAT.

AkAudioFormat audioFormat;
AkChannelConfig audioChConfig;
audioChConfig.SetStandard(0);
audioFormat.SetAll(
48000, // サンプルレート
audioChConfig, // \ref AkChannelConfig
16, // ビット毎サンプル
2, // 2バイト毎サンプル
AK_INT, // 整数(符号付き) フィード
);
  • 続いて、ゲームが PostEvent を呼び出し、オーディオ入力プラグインを起動します。
  • サウンドエンジンが、再生開始時に AkAudioInputPluginGetFormatCallbackFunc を一度呼び出し、続いて、プラグイン実行が終了するまで、(ストップアクションまたは io_pBufferOut->eState へのコールバック設定 AK_NoMoreData の実行を介して)オーディオフレームごとに AkAudioInputPluginExecuteCallbackFunc を呼び出します。

Microphone/AudioInput Demo に、マイクを入力として使用した非常に簡単な統合デモがあります。インテグレーションデモのWwiseプロジェクトでは、Microphone という名前の Sound Voice が、オーディオ入力プラグインをソースとして使用しています。

注釈: Wwiseでは、オーディオ入力プラグインに、PCのマイク入力からの音声が入力されます。従って、マイクが接続されていないと無音になります。
AkForceInline void SetStandard(AkUInt32 in_uChannelMask)
Set channel config as a standard configuration specified with given channel mask.
const AkDataTypeID AK_INT
Integer data type (uchar, short, and so on)
Definition: AkCommonDefs.h:50
Defines the parameters of an audio buffer format.
Definition: AkCommonDefs.h:63
const AkDataInterleaveID AK_INTERLEAVED
Interleaved data
Definition: AkCommonDefs.h:53
void SetAll(AkUInt32 in_uSampleRate, AkChannelConfig in_channelConfig, AkUInt32 in_uBitsPerSample, AkUInt32 in_uBlockAlign, AkUInt32 in_uTypeID, AkUInt32 in_uInterleaveID)
Definition: AkCommonDefs.h:126

このページはお役に立ちましたか?

サポートは必要ですか?

ご質問や問題、ご不明点はございますか?お気軽にお問い合わせください。

サポートページをご確認ください

あなたのプロジェクトについて教えてください。ご不明な点はありませんか。

プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。

Wwiseからはじめよう