FAQ
CRIWARE Unity Plug-inについての、よくある質問とその回答です。
ここでは頻出するものを中心に取り上げています。
より詳細な技術情報については「HOW TO」や「トラブルシューティング」をご覧ください。
[共通]
CRIWARE SDK for UnityはUnityのどのバージョンまで対応しているのですか
[ADX2]
CRIWARE Library Initializerの設定が有効にならない
アップデートしたら CRIWARE Library Initializer の設定が効かなくなった
音声再生時にエラーコールバック "W2010072212:No voice pool an play specified format."
音声再生時にエラーコールバック"E2010031002:The sampling rate of audio data (##### Hz) is not same as mixer's(##### Hz)."
インゲームプレビューが失敗し「プレビュープロセスへの接続に失敗しました」と表示される
インゲームプレビューが失敗し「インゲーム未対応のキューシートがロードされました」や「プレビュー用キューシートが見つからない、または...」と表示される
効果音が多いとBGM/環境音が消えてしまう
CRI Atom CraftのサンプルプロジェクトをビルドしてもACBファイルが見つからない
レイテンシを短くするには?
自アプリの音声を優先するには?
CRIWARE SDK for UnityはUnityのどのバージョンまで対応しているのですか
[共通:0001]
【質問】
Unityのどのバージョンまで対応しているのですか
【回答】
基本的にはリリースノート(cri/unity/docs/jpn/release_criwaresdk_unity_smartphone_j.txt)「4.1 動作要件」の項目で記載しているバージョンに該当していれば対応します。
例えば、以下の例ですとUnity 4 Pro (4.6以降)/Unity 5 (5.0以降)以降のバージョンであれば対応します。
======================================
4.1 動作要件
・・・
Unity 4 Pro (4.6以降) / Unity 5 (5.0以降)
・・・
======================================
ただし、Unity側の仕様変更、潜在的なバグに依存してCRIWARE SDK for Unityが正常動作しないといったケースもありえます。
そのようなケースがありましたら弊社で確認、検証いたしますのでご連絡下さい。
ページTOP
CRIWARE Library Initializerの設定が有効にならない
[ADX2:0001]
【質問】
CRIWARE Library Initializer
(
CriWareInitializer
) を作成して設定を変更しても有効になりません。
[例1]
[Atom Config]で[Hca Mx Voice]を使うようにしているのに、HCA-MXでエンコードしたデータが再生できない。
[例2]
[Mana Config]で[Number of Decoders]を増やしているのに、CRI Mana Player の作成に失敗する。
【回答】
スクリプト
CriWareInitializer
が動くよりも先に、ADX2やSofdec2のコンポーネントが利用されている可能性があります。
CriWareInitializerスクリプトの 「Script Execution Order」 をADX2やSofdec2を使用しているスクリプトよりも高い優先度に設定してください。
[Execution Orderの設定方法]
(1) Unity Editor のメニューで [Edit]->[Project Settings]->[Script Execution Order] を選択します。
(2) Inspector ウインドウに MonoManager のスクリプトの優先度一覧が表示されます。
(3)
CriWareInitializer
が一覧に無い場合は Inspector下部の"+"ボタンを押して、CriWareInitializerを追加してください。
(4)
CriWareInitializer
をADX2やSofdec2を使う他のスクリプトよりも高い優先度に設定してください。
設定値が小さいほど優先度が高くなります。
(5)
CriWareErrorHandler
についても同様に設定します。
初期化時のエラーを検知するため、CriWareInitializerよりも高い優先度に設定してください。
ページTOP
アップデートしたら CRIWARE Library Initializer の設定が効かなくなった
[ADX2:0002]
【質問】
CRIWAREプラグインをアップデート(インポート)したら
CRIWARE Library Initializer
の設定が効かなくなりました。
【回答】
CRIWARE プラグインをインポートし直すと、
CRIWARE Library Initializer
に設定されていた 「Script Execution Order」 の値が初期化されます。
アプリで設定を書き換えていた場合は、再度、優先度を設定しなおしてください。
「Script Execution Order」の設定手順については、
[ADX2:0001]
の回答を参照してください。
ページTOP
音声再生時にエラーコールバック "W2010072212:No voice pool an play specified format."
[ADX2:0003]
【質問】
ADX2で音声を再生しようとすると、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 の実行よりも先にADX2/Sodfec2を使用するスクリプトが動いた場合は、CRIWARE Library Initializer の設定が有効になりませんので、CRIWARE Library Initializer の 「Script Execution Order」 を確認してください。
「Script Execution Order」の設定手順については、
[ADX2:0001]
の回答を参照してください。
ページTOP
音声再生時にエラーコールバック"E2010031002:The sampling rate of audio data (##### Hz) is not same as mixer's(##### Hz)."
[ADX2:0004]
【質問】
ADX2で音声再生しようとした場合に、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 の実行よりも先にADX2/Sodfec2を使用するスクリプトが動いた場合は、CRIWARE Library Initializer の設定が有効になりませんので、 CRIWARE Library Initializer の 「Script Execution Order」 を確認してください。
「Script Execution Order」の設定手順については、
[ADX2:0001]
の回答を参照してください。
ページTOP
インゲームプレビューが失敗し「プレビュープロセスへの接続に失敗しました」と表示される
[ADX2:0005]
【質問】
Windows版でADX2のインゲームプレビューが接続できず、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 の実行よりも先にADX2/Sodfec2を使用するスクリプトが動いた場合は、CRIWARE Library Initializer の設定が有効になりませんので、 CRIWARE Library Initializer の 「Script Execution Order」 を確認してください。
「Script Execution Order」の設定手順については、
[ADX2:0001]
の回答を参照してください。
ページTOP
インゲームプレビューが失敗し「インゲーム未対応のキューシートがロードされました」や「プレビュー用キューシートが見つからない、または...」と表示される
[ADX2:0006]
【質問】
Windows版でADX2のインゲームプレビューが接続できず、CRI Atom Craft のログウインドウに次のようなメッセージが表示されます。
「インゲーム未対応のキューシートがロードされました」
「プレビュー用キューシートが見つからない、または、インゲームバイナリ用キューシートのサイズが大きすぎます」
【回答】
CRI Atom Craft でキューシートをビルドする際に [インゲームプレビュー用バイナリ出力] にチェックが入っているか確認してください。
インゲームプレビュー用のバイナリは通常のバイナリとは別に PC/InGamePreview/ のようにフォルダが一階層違う場所に出力されます。
Unity の StreamingAssets フォルダに InGamePreviewフォルダ以下に生成されたファイルを置いてあるか確認してください。
ページTOP
効果音が多いとBGM/環境音が消えてしまう
[ADX2:0007]
【質問】
効果音がたくさん鳴ると、再生が続いていたはずのBGM/環境音が消えてしまいます。
【回答】
再生サウンド数がボイスプールの上限に到達してしまい、降着優先判定により先に鳴っていた音が止まった可能性があります。
CRI Atom Craft でBGMや環境音のボイスプライオリティを他の効果音よりも高い値に設定してください。
ボイスプライオリティ設定は、CRI Atom Craftでキュー内のウェーブフォームを選択し、[FX/AISAC]ペインの[FX2]タブで設定できます。
この他にもキューリミットやボイスリミットが原因で再生が止まった可能性もありますので、そちらもご確認ください。
ページTOP
CRI Atom CraftのサンプルプロジェクトをビルドしてもACBファイルが見つからない
[ADX2:0008]
【質問】
SDKに収録されているサンプルプロジェクトをCRI Atom Craftでビルドすると、ビルドしたはずのACBファイルがどこにも見つかりません。
ただしキューをプレビュー再生することはできます。
【回答】
CRI Atom Craftでキューシートをビルドする場合、
[Atomキューシートバイナリのビルド]
ダイアログの
[出力パス]
で指定したパスに、キューシートバイナリが出力されます。
この設定はプロジェクトファイルに保存されます。
サンプルプロジェクトはCドライブを出力パスとしているので、Cドライブにキューシートバイナリが出力されます。
サンプルプロジェクトを試すときにCドライブ以外にサンプルプロジェクトを置くと、プロジェクトの場所とキューシートバイナリの出力先が異なってしまうため、一見するとファイルが出力されていないように見えます。
この場合、[Atomキューシートバイナリのビルド]ダイアログの
[デフォルトパス]
ボタンをクリックすると、プロジェクトの直下(デフォルトパス)に出力パスを戻すことができます。
[Atomキューシートバイナリのビルド]ダイアログ
ページTOP
レイテンシを短くするには?
[ADX2:0009]
【質問】
音の再生開始レイテンシが大きいです。
【回答】
オンメモリ再生をお試しください。
smartphone
ページTOP
自アプリの音声を優先するには?
[ADX2: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
Copyright (c) 2012-2018 CRI Middleware Co., Ltd.
CRI ADX2 LE マニュアル (for Unity) SDKVer.2.10版