一部のARROWS系端末上で発生するノイズ(音途切れ)への対処について記載します。
CRI Atomライブラリで音声を再生する際、デフォルト設定のままだと一部のARROWS系端末上でノイズ(音途切れ)が発生します。
CRIでは以下の端末でノイズ発生を確認しています。
| (a) criAtom_SetSoundBufferingTime_ANDROID |
| (b) criAtom_SetSoundStartBufferingTime_ANDROID |
関数(a)でサウンドデコードバッファサイズ自体を調整します。このバッファ内にどの程度サウンドデータが溜まったら再生開始するかは、関数(b)で指定します。指定値はミリ秒単位となります。
どの程度増やすべきかは、機種やアプリケーションの負荷状況に依存します。問題の無い数値を各機種ごとに調べて判断する必要があります。
バッファサイズ調整の方法としては、ノイズが発生しなくなるまで(a)も(b)も同じ数値で増やしていきます。 次にNSR(ネイティブサウンドレンダラ)を使用している場合は(b)の数値分だけ再生開始遅延になってしまいますので、 音途切れしない程度に(b)の数値のみ減らしてください。
例えば次のような記述で途切れ無く再生できることを確認しています。
{
/* サウンドデコードバッファ量の設定(ミリ秒単位) */
criAtom_SetSoundBufferingTime_ANDROID(200);
/* 再生開始バッファリング時間の設定(ミリ秒単位) */
criAtom_SetSoundStartBufferingTime_ANDROID(150);
criAtomEx_Initialize_Android(&atomex_config, NULL, 0);
…
}