CRI ADX  Last Updated: 2024-03-21 14:32 p
途中で勝手に停止してしまう
再生中の音声が勝手に停止してしまう大抵の場合、ボイスプール設定にて確保したボイスの不足によるボイスの奪い取り発生が原因として上げられます。
効果音の再生によって BGM が停止するといったケースはこれに該当している可能性が非常に高いです。
ボイスの停止要因は、再生 ID をもとに情報取得が可能です。

再生IDに関連するボイスの停止処理の監視

ボイス停止要因の取得には、要因取得用のコールバック関数の登録と対象となる再生 ID の登録が必要となります。

/* ボイス停止要因取得コールバック関数 */
void voice_stop_callback(void* obj, CriAtomExMonitoringVoiceStopInfo* voice_stop)
{
// voice_stop->reason の内容を確認する
}
main()
{
/* ボイス停止要因取得コールバック関数の登録 */
criAtomEx_SetMonitoringVoiceStopCallback(&voice_stop_callback, user_obj);
/* 再生リクエストを行う */
/* 監視する再生 ID の登録 */
}
void criAtomEx_SetMonitoringVoiceStopPlaybackId(CriAtomExPlaybackId playback_id)
ボイス停止を監視する再生IDの登録
void criAtomEx_SetMonitoringVoiceStopCallback(CriAtomExMonitoringVoiceStopCbFunc func, void *obj)
ボイス停止を監視するコールバック関数の登録
CriAtomExPlaybackId criAtomExPlayer_Start(CriAtomExPlayerHn player)
再生の開始
CriUint32 CriAtomExPlaybackId
再生ID
Definition: cri_atom_ex.h:3756
ボイス停止情報取得用構造体
Definition: cri_atom_ex.h:5334

要因別対処方法

取得した要因に対する回避方法の一例です。状況によっては異なる対策もありますのでお気軽にサポートまでお問い合わせください。

列挙値 説明・対処方法
CRIATOM_VOICE_STOP_REASON_EXPLAYER_STOP CriAtomExPlayerHn の停止が呼ばれています。 criAtomExPlayer_Stop 関数の呼び出しを確認してください。
CRIATOM_VOICE_STOP_REASON_EXPLAYER_STOPWITHOUTRELEASE CriAtomExPlayerHn の即時停止が呼ばれています。 criAtomExPlayer_StopWithoutReleaseTime 関数の呼び出しを確認してください。
CRIATOM_VOICE_STOP_REASON_PLAYBACK_STOP 再生 ID の停止が呼ばれています。 criAtomExPlayback_Stop 関数の呼び出しを確認してください。
CRIATOM_VOICE_STOP_REASON_PLAYBACK_STOPWITHOUTRELEASE 再生 ID の即時停止が呼ばれています。 criAtomExPlayback_StopWithoutReleaseTime 関数の呼び出しを確認してください。
CRIATOM_VOICE_STOP_REASON_SOUNDPLAYER_DESTROY 通常は発生しない要因です。発生時の呼び出し履歴添えてサポートまでお問い合わせください。
CRIATOM_VOICE_STOP_REASON_FADER_STOP フェーダーによる停止が発生しています。同一の CriAtomExPlayerHn にて多重再生を行っていないか確認してください。
CRIATOM_VOICE_STOP_REASON_PLAYER_STOP CriAtomPlayerHn の停止が呼ばれています。 criAtomPlayer_Stop 関数の呼び出しを確認してください。
CRIATOM_VOICE_STOP_REASON_AWB_STOP AWB 指定の停止が行われています。他の要因が合わせて発生していないか確認してください。
CRIATOM_VOICE_STOP_REASON_STREAMING_CACHE_STOP ストリーミングキャッシュの停止が呼ばれています。ストリーミングキャッシュの破棄が行われていないか確認してください。
CRIATOM_VOICE_STOP_REASON_PLAYER_FORCE_STOP CriAtomPlayerHn の強制停止が行われています。発生時の呼び出し履歴を添えてサポートまでお問い合わせください。
CRIATOM_VOICE_STOP_REASON_PLAYER_DESTROY CriAtomPlayerHn 破棄が呼ばれています。 criAtomPlayer_Destroy 関数の呼び出しを確認してください。
CRIATOM_VOICE_STOP_REASON_MTPLAYER_STOP ADAMS 用のプレーヤー停止が呼ばれています。
CRIATOM_VOICE_STOP_REASON_VOICE_POOL_DESTROY ボイスプールの破棄が呼ばれています。 criAtomExVoicePool_Free 関数の呼び出しを確認してください。
CRIATOM_VOICE_STOP_REASON_VOICE_STEAL_CASE1 ボイスリミットグループによるボイス停止が発生しています。ボイスプライオリティを上げるなどの対策が必要です。
CRIATOM_VOICE_STOP_REASON_VOICE_STEAL_CASE2 ボイスリミットグループによるボイス停止が発生しています。ボイスプライオリティを上げるなどの対策が必要です。
CRIATOM_VOICE_STOP_REASON_VOICE_STEAL_CASE3 ボイスリミットグループによるボイス停止が発生しています。ボイスプライオリティを上げるなどの対策が必要です。
CRIATOM_VOICE_STOP_REASON_VOICE_STEAL_CASE4 ボイス数の上限越えによる奪い取りのためのボイス停止が発生しています。ボイスプライオリティを上げるなどの対策が必要です。
CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_VIRTUAL_VOICE_BEYOND_LIFE_TIME バーチャル状態で再生時間が波形長を超えた場合に発生します。
CRIATOM_VOICE_STOP_REASON_ELEMENT_FREE 内部リソースの解放処理が動作しています。他の要因やエラーが発生していないか確認してください。
CRIATOM_VOICE_STOP_REASON_EXPLAYER_STOP_ERROR_HN エラー状態の CriAtomPlayerHn を停止しました。
CRIATOM_VOICE_STOP_REASON_ACB_RELEASE CriAtomExAcbHn の解放が行われています。 criAtomExAcb_Release 関数の呼び出しを確認してください。
CRIATOM_VOICE_STOP_REASON_VOICE_ALLOCATE_FAIL ボイスの確保に失敗しています。他の要因やエラーが発生していないか確認してください。
CRIATOM_VOICE_STOP_REASON_VOICE_RESET ボイスのリセットが行われています。再生開始時にも発生するため他の要因やエラーが発生していないか確認してください。
CRIATOM_VOICE_STOP_REASON_VOICE_VIRTUALIZE ボイスのバーチャル化による停止です。
CRIATOM_VOICE_STOP_REASON_PLAYBACKSOUND_ALLOCATE_FAIL 内部リソースの確保に失敗しています。他の要因やエラーが発生していないか確認してください。
CRIATOM_VOICE_STOP_REASON_STOP_ACTION_WITH_BEATSYNC ビート同期での停止アクションによる停止が行われています。
CRIATOM_VOICE_STOP_REASON_START_CANCEL_WITH_BEATSYNC ビート同期での多重同期待ちによる発音キャンセルが発生しています。
CRIATOM_VOICE_STOP_REASON_STOP_ACTION 停止アクションによる停止が行われています。
CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE0 ブロック遷移に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE1 ブロック遷移に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE2 ブロック遷移に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE3 ブロック遷移に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_CATEGORY_CUE_LIMIT カテゴリキューリミットによる発音停止が行われています。キュープライオリティを上げるなどの対策が必要です。
CRIATOM_VOICE_STOP_REASON_UNSET_ACB CriAtomExAcbHn の解放が行われています。
CRIATOM_VOICE_STOP_REASON_SEQUENCE_END シーケンスエンドマーカーによる停止が行われています。
CRIATOM_VOICE_STOP_REASON_BLODK_END ブロックエンドによる停止が行われています。
CRIATOM_VOICE_STOP_REASON_SEQUENCE_EXECUTE シーケンサー内部処理にて停止が行われています。他の要因やエラーが発生していないか確認してください。
CRIATOM_VOICE_STOP_REASON_TRACK_MONO トラックモノモード処理による停止が行われています。
CRIATOM_VOICE_STOP_REASON_FADER_STOP_IMMEDIATE 多重フェードアウトなどでフェーダーによる即時停止が発生しています。
CRIATOM_VOICE_STOP_REASON_CUE_LIMIT キューリミットによる発音停止が行われています。リミット数を増やすなどの対策が必要です。
CRIATOM_VOICE_STOP_REASON_SOUND_OBJECT_ADD_PLAYER サウンドオブジェクトへの CriAtomPlayerHn 追加処理に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_SOUND_OBJECT_DELETE_PLAYER サウンドオブジェクトからの CriAtomPlayerHn 削除処理に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_SOUND_OBJECT_DELETE_ALL_PLAYER サウンドオブジェクトからの CriAtomPlayerHn 削除処理に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_UNREGISTER_ACF ACF のアンレジスト処理に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_EXPLAYER_DESTROY CriAtomExPlayerHn の破棄に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_EXPLAYER_ATTACH_FADER CriAtomExPlayerHn へのフェーダー付加に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_EXPLAYER_DETACH_FADER CriAtomExPlayerHn へのフェーダー取り外しに伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_DETACH_AWB ストリーム再生用 AWB 解放処理による停止が行われています。
CRIATOM_VOICE_STOP_REASON_CATEGORY_STOP カテゴリの停止が呼ばれています。
CRIATOM_VOICE_STOP_REASON_CATEGORY_STOPWITHOUTRELEASE カテゴリの即時停止が呼ばれています。
CRIATOM_VOICE_STOP_REASON_NOTE_OFF シーケンサー処理伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_REGISTER_ACF ACF の登録処理に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_STOP_ACTION_WITH_FADE フェード付き停止アクションによる停止が行われています。
CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE4 ブロック遷移に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE5 ブロック遷移に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE6 ブロック遷移に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_NOTE_OFF2 MIDI ノート停止 メッセージによる停止が行われています。
CRIATOM_VOICE_STOP_REASON_ALL_NOTE_OFF MIDI 全ノーと停止メッセージによる停止が行われています。
CRIATOM_VOICE_STOP_REASON_ALL_NOTE_OFF_WITHOUTRELEASE MIDI 全ノーと停止メッセージによる停止が行われています。
CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_ENVELOPE_LEVEL_ZERO サスティンレベル 0 に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_AUX_IN_STOP 外部入力への停止が行われています。
CRIATOM_VOICE_STOP_REASON_ACB_RELEASE_ASYNC 非同期 ACB 解放に伴う停止が行われています。
CRIATOM_VOICE_STOP_REASON_INGAMEPREVIEW_PREPARE_OVERWRITE_ACF InGamePreview での ACF 更新処理の前処理として、全 ACB 停止処理が行われています。
CRIATOM_VOICE_STOP_REASON_INGAMEPREVIEW_PREPARE_OVERWRITE_ACB InGamePreview での ACB 更新処理の前処理として、ACB 停止処理が行われています。
CRIATOM_VOICE_STOP_REASON_CUE_LIMIT_RESUME_PREPARE Prepare 解除に伴うキューリミット処理にて発音のキャンセルが行われています。
監視処理から得られる停止要因に心当たりがない場合は、お手数ですが詳細をサポートまでお問い合わせください。
監視処理から何も得られない場合、ボイスリソースは再生中ということになります。以下の点について確認ください。