multi cards
This commit is contained in:
@@ -132,6 +132,24 @@ class Sampler {
|
||||
unmute() {
|
||||
this.gainNode.gain.value = 1
|
||||
}
|
||||
|
||||
/**
|
||||
* Définit le taux de lecture (vitesse de lecture)
|
||||
* @param rate Taux de lecture (1.0 = vitesse normale, 0.5 = moitié de vitesse, 2.0 = double vitesse, etc.)
|
||||
*/
|
||||
setPlaybackRate(rate: number) {
|
||||
if (!this.audioSource) return
|
||||
|
||||
const currentTime = this.audioContext.currentTime
|
||||
this.audioSource.playbackRate.cancelScheduledValues(currentTime)
|
||||
this.audioSource.playbackRate.linearRampToValueAtTime(
|
||||
Math.max(0.001, Math.abs(rate)), // Éviter les valeurs négatives ou nulles
|
||||
currentTime + 0.05 // Petit délai pour éviter les clics
|
||||
)
|
||||
|
||||
// Mettre à jour la vitesse actuelle
|
||||
this.currentSpeed = rate
|
||||
}
|
||||
}
|
||||
|
||||
export default Sampler
|
||||
|
||||
Reference in New Issue
Block a user