CRIWARE Unity Plugin Manual  Last Updated: 2024-04-24
FAQ
CRIWARE Unity Plug-inについての、よくある質問とその回答です。
ここでは頻出するものを中心に取り上げています。
より詳細な技術情報については「HOW TO」や「トラブルシューティング」をご覧ください。

CRIWARE SDK for UnityはUnityのどのバージョンまで対応しているのですか

[共通:0001]

【質問】

Unityのどのバージョンまで対応しているのですか

【回答】

以下のリリースノートのページから確認できます。
リリースノート
例えば、以下の例ですとUnity 2018 以降のバージョンであれば対応します。
## PC(Windows)
### 動作要件
- Unity 2018 以降
- Windows 7 / 8.1 / 10 / 11
- DirectX エンドユーザーランタイム (June 2010)
- Microsoft .NET Framework 3.5 SP1
- Microsoft .NET Framework 4.0

ただし、Unity側の仕様変更、潜在的なバグに依存してCRIWARE SDK for Unityが正常動作しないといったケースもありえます。
そのようなケースがありましたら弊社で確認、検証いたしますのでご連絡下さい。

ページTOP


CRIWARE Library Initializerの設定が有効にならない

[ADX:0001]

【質問】

CRIWARE Library Initializer (CriWareInitializer) を作成して設定を変更しても有効になりません。
[例1]
[Atom Config]で[Hca Mx Voice]を使うようにしているのに、HCA-MXでエンコードしたデータが再生できない。
[例2]
[Mana Config]で[Number of Decoders]を増やしているのに、動画再生用コンポーネントの作成に失敗する。

【回答】

スクリプト CriWareInitializer が動くよりも先に、ADXやSofdecのコンポーネントが利用されている可能性があります。
CriWareInitializerスクリプトの 「Script Execution Order」 をADXやSofdecを使用しているスクリプトよりも高い優先度に設定してください。
[Execution Orderの設定方法]
  • (1) Unity Editor のメニューで [Edit]->[Project Settings]->[Script Execution Order] を選択します。
  • (2) Inspector ウインドウに MonoManager のスクリプトの優先度一覧が表示されます。
  • (3) CriWareInitializer が一覧に無い場合は Inspector下部の"+"ボタンを押して、CriWareInitializerを追加してください。
  • (4) CriWareInitializer をADXやSofdecを使う他のスクリプトよりも高い優先度に設定してください。
    設定値が小さいほど優先度が高くなります。
  • (5) CriWareErrorHandler についても同様に設定します。
    初期化時のエラーを検知するため、CriWareInitializerよりも高い優先度に設定してください。

ページTOP


アップデートしたら CRIWARE Library Initializer の設定が効かなくなった

[ADX:0002]

【質問】

CRIWAREプラグインをアップデート(インポート)したら CRIWARE Library Initializer の設定が効かなくなりました。

【回答】

CRIWARE プラグインをインポートし直すと、CRIWARE Library Initializer に設定されていた 「Script Execution Order」 の値が初期化されます。
アプリで設定を書き換えていた場合は、再度、優先度を設定しなおしてください。
「Script Execution Order」の設定手順については、[ADX:0001] の回答を参照してください。

ページTOP


音声再生時にエラーコールバック "W2010072212:No voice pool an play specified format."

[ADX:0003]

【質問】

ADXで音声を再生しようとすると、CRIエラーコールバックで "W2010072212:No voice pool an play specified format." というメッセージが表示されます。

【回答】

再生しようとした音声データのコーデックに対応するボイスプールが作成されていないというエラーです。
原因としては次の可能性があります。
  • (a) CRIWARE Library Initializer を使わずに、HCA-MXを使用したデータを再生しようとしている。
  • (b) CRIWARE Library Initializer でボイスプールの設定が間違っている。
  • (c) CRIWARE Library Initializer の 「Script Execution Order」 が正しく設定されておらず、ボイスプール設定が有効になっていない。
  • (d) データ側に、そのプラットフォームで再生できない音声コーデックが使用されている。
CRIWARE Library Initializer を使っていない場合に再生できるのはADXコーデックとHCAコーデックだけです。
HCA-MXを使う場合は、CRIWARE Library Initializer で[Atom Config]の[Hca Mx Voice Pool Config]を使用する必要があります。
また、CRIWARE Library Initializer の実行よりも先にADX/Sodfec2を使用するスクリプトが動いた場合は、CRIWARE Library Initializer の設定が有効になりませんので、CRIWARE Library Initializer の 「Script Execution Order」 を確認してください。
「Script Execution Order」の設定手順については、[ADX:0001] の回答を参照してください。

ページTOP


音声再生時にエラーコールバック"E2010031002:The sampling rate of audio data (##### Hz) is not same as mixer's(##### Hz)."

[ADX:0004]

【質問】

ADXで音声再生しようとした場合に、CRIエラーコールバックで "E2010031002:The sampling rate of audio data (##### Hz) is not same as mixer's(##### Hz)." というメッセージが表示されます。

【回答】

再生しようとした音声データのサンプリングレートが出力設定と一致していないというエラーです。
原因としては次の可能性があります。
  • (a) CRIWARE Library Initializer を使わずに、44.1kHzではない音声データを再生しようとしている。
  • (b) CRIWARE Library Initializer で[Output Sampling Rate]の設定がデータと一致していない。
  • (c) CRIWARE Library Initializer の 「Script Execution Order」 が正しく設定されておらず、[Output Sampling Rate]設定が有効になっていない。
CRIWARE Library Initializer を使っていない場合の出力サンプリングレートは44.1kHzになります。
それ以外のサンプリングレートで音声を再生する場合は、CRIWARE Library Initializer で [Atom Config] の [Output Sampling Rate] で指定してください。
また、CRIWARE Library Initializer の実行よりも先にADX/Sodfec2を使用するスクリプトが動いた場合は、CRIWARE Library Initializer の設定が有効になりませんので、 CRIWARE Library Initializer の 「Script Execution Order」 を確認してください。
「Script Execution Order」の設定手順については、[ADX:0001] の回答を参照してください。

ページTOP


インゲームプレビューが失敗し「プレビュープロセスへの接続に失敗しました」と表示される

[ADX:0005]

【質問】

Windows版でADXのインゲームプレビューが接続できず、CRI Atom Craft のログウインドウに次のようなメッセージが表示されます。
  • 「プレビュープロセスへの接続に失敗しました」

【回答】

Unityプロジェクトが、インゲームプレビューを使用する設定になっていない可能性があります。
Unityプロジェクトの次の設定を確認してください。
  • (a) CRIWARE Library Initializer を使っていない。
  • (b) CRIWARE Library Initializer で [Use In Game Preview] がチェックされていない。
  • (c) CRIWARE Library Initializer の 「Script Execution Order」 が正しく設定されておらず、[Use In Game Preview] 設定が有効になっていない。
CRIWARE Library Initializer を使っていない場合、インゲームプレビューは無効になっています。
また、CRIWARE Library Initializer の実行よりも先にADX/Sodfec2を使用するスクリプトが動いた場合は、CRIWARE Library Initializer の設定が有効になりませんので、 CRIWARE Library Initializer の 「Script Execution Order」 を確認してください。
「Script Execution Order」の設定手順については、[ADX:0001] の回答を参照してください。

ページTOP


インゲームプレビューが失敗し「インゲーム未対応のキューシートがロードされました」や「プレビュー用キューシートが見つからない、または...」と表示される

[ADX:0006]

【質問】

Windows版でADXのインゲームプレビューが接続できず、CRI Atom Craft のログウインドウに次のようなメッセージが表示されます。
  • 「インゲーム未対応のキューシートがロードされました」
  • 「プレビュー用キューシートが見つからない、または、インゲームバイナリ用キューシートのサイズが大きすぎます」

【回答】

CRI Atom Craft でキューシートをビルドする際に [インゲームプレビュー用バイナリ出力] にチェックが入っているか確認してください。
インゲームプレビュー用のバイナリは通常のバイナリとは別に PC/InGamePreview/ のようにフォルダが一階層違う場所に出力されます。
Unity の StreamingAssets フォルダに InGamePreviewフォルダ以下に生成されたファイルを置いてあるか確認してください。

ページTOP


効果音が多いとBGM/環境音が消えてしまう

[ADX:0007]

【質問】

効果音がたくさん鳴ると、再生が続いていたはずのBGM/環境音が消えてしまいます。

【回答】

再生サウンド数がボイスプールの上限に到達してしまい、降着優先判定により先に鳴っていた音が止まった可能性があります。
CRI Atom Craft でBGMや環境音のボイスプライオリティを他の効果音よりも高い値に設定してください。
ボイスプライオリティ設定は、CRI Atom Craftでキュー内のウェーブフォームを選択し、[FX/AISAC]ペインの[FX2]タブで設定できます。
この他にもキューリミットやボイスリミットが原因で再生が止まった可能性もありますので、そちらもご確認ください。

ページTOP


CRI Atom CraftのサンプルプロジェクトをビルドしてもACBファイルが見つからない

[ADX:0008]

【質問】

SDKに収録されているサンプルプロジェクトをCRI Atom Craftでビルドすると、ビルドしたはずのACBファイルがどこにも見つかりません。
ただしキューをプレビュー再生することはできます。

【回答】

CRI Atom Craftでキューシートをビルドする場合、
[Atomキューシートバイナリのビルド]ダイアログの[出力パス]で指定したパスにキューシートバイナリが出力されます。
この設定はプロジェクトファイルに保存されます。

サンプルプロジェクトはCドライブを出力パスとしているので、Cドライブにキューシートバイナリが出力されます。
このときプロジェクトの場所とキューシートバイナリの出力先が異なっていると、ファイルが出力されていないように見えます。

Cドライブ以外にサンプルプロジェクトを置く場合、
[Atomキューシートバイナリのビルド]ダイアログの[デフォルトパス]ボタンをクリックしてください。
これにより、プロジェクトの直下(デフォルトパス)に出力パスを指定できます。

cri4u_teqinfo_faq_adx0008_acbdlg.png
[Atomキューシートバイナリのビルド]ダイアログ

ページTOP


レイテンシを短くするには?

[ADX:0009]

【質問】

音の再生開始レイテンシが大きいです。

【回答】

  • SonicSYNC をオンにしてご利用ください。
  • ストリーミング再生を行っている場合、オンメモリ再生をお試しください。
  • また、 CRIWARE Library Initializer コンポーネント内の CriAtomConfig クラスに
    Buffering Time の項目がある機種の場合、その値を調整ください。

ページTOP


自アプリの音声を優先するには?

[ADX:0010]

【質問】

他アプリ(ミュージック)などで音声再生中に自アプリを起動した場合、自アプリの音声を優先して再生して他アプリの再生を止めるには?

【回答】

[iOS]
以下の設定で自アプリの音声を優先して鳴らすよう挙動が変わるかお試し下さい。

CRIWARE Library Initializer
 - Atom Config
  - Override iPod Music

他アプリ(ミュージック)で音が再生されている場合に、再生を停止するかを制御します。
チェックを有効にすることで他アプリの再生を停止するようになります。

[Android]
Unity Ver.5.4.2p1より、Android Player Settingsに「Mute Other Audio Sources」のチェックボックスが追加され、Unityによる他アプリの音声出力抑制が利用できるようになりました。
 Player Settings > Android > Other Settings > Configuration > Mute Other Audio Sources
この機能を利用する場合、チェックボックスを有効にすると同時に、メニューバーから以下を選択し、プラグインによるビルド前処理を有効にしてください。
 GameObject > CRIWARE > Create CriWareBuildPreprocessorPrefs.asset

Unity Ver.5.4.2p1未満の環境である場合は、自アプリ側でAndroid OS側で用意されているAPI AudioFocusの取得・設定を行って制御してください。
アプリ起動時、サスペンド/リジュームのアプリ復帰時に、AudioManager.requestAudioFocus関数にてAUDIOFOCUS_GAIN(スピーカーの権限を奪う)処理を行う必要があります。

AudioFocusのAPIの使用法などについては以下のAndroid Developers公式の説明をご参考下さい。

参考)Handling Changes in Audio Output > Acquiring and releasing audio focus
https://developer.android.com/guide/topics/media-apps/volume-and-earphones.html

ページTOP


ムービを複数同時に再生しようとすると再生されないことがある

[Sofdec:0003]

【質問】

ムービを複数同時に再生しようとすると、エラーコールバックが発生して再生されないことがあります。

【回答】

CRI Manaライブラリのデコーダ数か、CRI File Systemライブラリのローダ数が不足している可能性があります。
ムービを複数同時に再生する場合の設定は? を参照してください。

ページTOP