渋谷ほととぎす通信

新しいこと、枯れたこと問わず大庭が興味を持ったものを調査、生活の効率を求める完全趣味の技術ブログ

CRI ADX2と自分の感覚的がずれていてハマったポイント3点の共有


絶賛Unity×CRI ADX2を触っているのですが、自分の感覚とずれていて、少しハマったところをメモしておきます。

1.一時停止メソッドを叩いてもステータスはPlaying

CriAtomExPlayer(Unityで言うAudioSource的なもの)には、ステータスが存在し、そのEnumが以下のように定義されています。

public enum Status {
    Stop = 0,      /**< 停止中          */
    Prep,           /**< 再生準備中        */
    Playing,        /**< 再生中          */
    PlayEnd,        /**< 再生完了       */
    Error,          /**< エラーが発生 */
}

Pause的なステータスは無いので、てっきりStopステータスになるかなと思って実装したら動かず、、、。
よくよくログ出力して調べるとPlayingステータスのままでした。

2.SetVolumeするだけではボリュームは反映されない

これはCRI ADX2あるあるかもしれないです。

_player.SetVolume(0.5f);
// 更新関数を呼ぶ
_player.UpdateAll();

更新関数を呼んであげないとパラメータは反映されません。
※UpdateAllの他にUpdateという関数もあります

3.再生すると音がキュルキュル鳴る

先日執筆したこれ↑↑ ヘッドホンでテストしていたのでビビりました。

最後に

ただ、ADX2のC#コード内にビッシリとコメントアウトが書いてあるので、ちゃんと読めばハマり続けることはありません。そこはGood!。

そして、だいぶADX2と仲良くなれてきました。

昨年12月頃にMac版のAtomCraftがリリースされていたようで、タイミングが本当によかったです。
そのためだけにWindowsに切り替えるとかめんどいですわ。