// Update is called once per frame void Update() { if (musicSource != null) { _currentAbsoluteMusicPosition = musicSource.time; _currentRelativeMusicPosition = _currentAbsoluteMusicPosition / musicSource.clip.length; } // _nextBPMTimeCode prend la valeur du prochain BPM si la musique se reboucle le _nextBPMTimeCode ne sera jamais atteint // pour remédier, si _nextBPMTimeCode dépasse la longeur de la mussique il sera réinitialiser if (musicSource.time < previousMusicTime) { Debug.Log("ça boucle"); _nextBPMTimeCode = 0; _cptBPM = 0; } previousMusicTime = musicSource.time; if (_currentAbsoluteMusicPosition > _nextBPMTimeCode) { _nextBPMTimeCode += 60F / _bpm; _cptBPM++; eventBPM.Invoke(_cptBPM); } }