javax.sound.sampled.Clips
Java アプレットの配列にロードされた 2 つのオーディオ クリップ間をスムーズに移行したいと考えています。現時点では、1 つのクリップを停止して次のクリップを開始しますが、オーディオが突然停止および開始するため、クリック音が発生します。クリップ インターフェイスを使用して、同じトラック位置を維持しながらクリップ間のループとトランジションを実行できるようにする必要があります。
1 つのクリップを停止する前にゲインを下げてから、次のクリップを開始するときにゲインを上げてみましたFloatControl.Type.MASTER_GAIN
。ゲインをすばやく変更したい場合はバッファをフラッシュする必要がありますが、ゲインをあまりにも速く変更しようとすると、クリックしてカクカクしてしまいます。さらに、バッファをフラッシュするには、クリップを停止して再起動し、フラッシュされたバッファを元に戻す必要があります (したがって、フラッシュされた部分を飛び越えません)。これにより、取り除こうとしているのと同じクリックが発生します。
ゲインをすばやく (200ms 以内に) 0dB から -60dB に変更した経験がある人はいますか。バッファ レベルに到達して、ビットを直接操作する必要があるかもしれないと考えていますが、Clip インターフェイスからこれに到達する方法がわかりません。
助言がありますか?