Kinra
【雜貨店】
今晚在試怎麼用irrKlang做intro -> loop無縫接軌
結論:勉強可以做,但不適合
Kinra
用irrKlang自己的event handler來偵測曲目播完的話,從實際播完到收到event會有個小小的lag
曲目本身附的偵測用property也一樣,會在實際播完後lag一下才更新
我試著讓我的程式每次Update(1/60秒一次)的時候都叫它回報一次目前播到幾毫秒了,結果它數值更新速度竟然比我的Update還慢,我Update三次它數值才增加一次,所以也不能單純在Update發現曲子播完的時候才換播下一首
Kinra
那怎麼辦咧
我現在的workaround是在Update的時候問它「intro是不是播到距離完結只剩50ms以下了?」,如果是就立刻換播main loop
這做法很不漂亮,因為其實是卡掉intro跟main loop之間的50ms,只是仗著時間短不容易聽出來而已
Kinra
然後它沒辦法在播音檔的同時指定音量,set音量的時候反映進去也會有個lag,所以如果是太短的音檔就沒辦法直接來兩行code第一行開播第二行改音量
得載入音檔但叫它先暫停,第二行改音量,第三行解除暫停
雖然這看起來是它目前設計上的正解,但是官方論壇上好像完全沒提到這類音檔太短時的問題所以還是害我摸了半天
Kinra
總之本來以為今晚可以把音效搞定的,延到明天
載入新的回覆