2012-02-10 4 views
0

저는 내장 된 jQuery 오디오 플레이어에 '볼륨 자동화'를 구현하려고합니다.Jquery 오디오 플레이어 볼륨 자동화. 두 지점 사이의 볼륨 위치 계산

아래 그림과 같이 드래그 포인트가있는 선 그래프가 겹쳐져 있습니다.

오디오를 재생하는 동안 데이터를 수집하는 매 초마다 이벤트가 발생합니다 (현재는 필요한 경우 빈도를 높일 수 있습니다).

I를 반환하고 데이터는 ...하지 광고 자체 "포인트"의 높이로부터 결정된 오디오 위치 및 볼륨 (된다. 이것은 현재에도 불구 기울기가 볼륨 렌더링되는 것을 의미

각 지점이 노래에 도달하면 변경합니다. (포인트는 라인에 하나의 '점'인.

enter image description here

내가 그것을 이런 식으로 성능상의 이유로 할 선택했습니다.

방법 이 방법을 사용하면 포인트 사이의 볼륨을 계산하는 계산을 수행해야합니다.

수학은 실제로 내 장점이 아니며 학교 생활에서 거의 기억할 수 없습니다.

나는 현재와 같은 변수를 저장하고있다 : -

  • X0 = 마지막 포인트 위치
  • X1 = 다음 지점 위치
  • = 마지막 포인트
  • Y1 = 다음 지점
  • 위치
  • Y0 = 현재 위치 (초 단위)

말이된다!

올바른 식을 기억하면 두 점의 차이를 계산하는 것과 관련이 있으므로 위의 변수의 내용을 사용하는 간단한 방정식이 필요하다고 가정합니다.

볼륨 눈금은 0-100입니다. 그러므로 파형 상단의 지점은 100의 볼륨 값을 가져야하고 하단의 지점은 0의 볼륨 값을 가져야합니다. 중간에있는 개별 점이 필요한 방정식에 의해 계산됩니다.

누구든지이 문제에 대해 밝히거나 도움을 주면 해결책을 찾게 될 것입니다. 매우 감사하겠습니다!

답변

1

두 점 사이의 부피 (y)를 찾고 싶습니까? (위치 - x0) * (y1 - y0) + y0에서와 같이?

x0과 x1이 1 단위 씩 떨어져 있다는 점을 고려하여 단순화되었음을 유의하십시오.

전체 상세 :

하는 경사 찾기 : 기울기 = (Y1-Y0)/(X1-X0) 우리 X0 및 X1 사이

찾기 %의 거리 = (위치 - X0)/(X1 - X0)

경사 * 거리가 우리에게 지금까지 변화를 줄 것이다 : 변화 = 경사 * 거리

마지막 값에 변화를 추가, 새 값을 찾으려면 : y 위치 = 변화 + Y0을;

다시 대입 모든 변수 것은 우리에게 제공한다 : Y0 + (((Y1 - Y0)/(X1 - X0)) * ((위치 - X0)/(X1 - X0)))

경우를 샘플이 1 단위 인 경우 (x1 - x0) 항을 생략 할 수 있습니다.

+0

완벽하게 내가 필요한 것. 아주 간단한 대답은 고맙습니다. – gordyr

관련 문제