vrchatのワールドで複数の音楽を繋げて流そうとしてvrc_audiobankというのを利用したのだが、どうもループ再生が出来ないという致命的な欠陥があるっぽい。
なんとかループ出来ないか頑張ったが無理だった。
vrc_audiobankを持つオブジェクトにOnEnableでSendRPC.playを自身に送り音を鳴らし、加えて、全曲の時間を計算して、それをontimerにセットしてdisable,ableをするという設定をしすると、ループはできるのだが、このオブジェクトをinteractでoffにしてもなぜか音が止まらず音がループされ続ける。
よくわからんのだが、OnTimerはそれのオブジェクトがdisableになっても機能しつづけてしまうらしい。
またOnTimerをrepeatしてSendRPCを送っても最初の一回しか反応しない。DestoryとSwapanを使おうとしてもprefabかするとAudio Sorceの設定が消えてしまい、prefab状態だとAudioSorceを設定できず音を鳴らせない。
鳴り終わるとOnStopイベントが発生するので、それを検知してSendRPC.playを送ればいいんじゃないかとも思ったが、なぜかplayをコールするとOnStopがコールバックされ無限ループが発生してしまう。
VRC_AudioBank - Programming in VRChat
ループ再生機能くらい実装しておいてほしい。
常に音楽を繋げて流すのなら音楽ファイル自体をつなげる手もあるが、今回は単体でも流したかった。