티스토리 뷰

발생일: 2013.02.22

문제:
요새 HTML5 Web Audio API를 파보고 있다.

스펙을 살펴보다 보니 deprecated 된 메서드가 있는데,
튜토리얼의 대부분은 스펙이 변경되기 이전에 작성된 것들이 많아 이전 메서드를 기반으로 소개하고 있다.

당장 사용하는 데 있어서는 문제가 될 것 같지 않지만, 참고 차 정리해둔다.

해결책:

아래는 각 노드에서 변경된 메서드 목록이다.

AudioBufferSourceNode
  noteOn() ---> start()
  noteGrainOn() ---> start()
  noteOff() ---> stop()

AudioContext
  createGainNode() ---> createGain()
  createDelayNode() ---> createDelay()
  createJavaScriptNode() ---> createScriptProcessor()

OscillatorNode
  noteOn() ---> start()
  noteOff() ---> stop()

AudioParam
   setTargetValueAtTime() ---> setTargetAtTime()


처음 API를 봤을 때 noteOn() 과 noteOff() 가 그리 익숙하지 않았는데,
start(), stop()으로 바꾸니 더 명확한 것 같다.

위 목록은 API 리뷰 과정에서 바뀌었다고 하고, (변경 로그를 보니 2012년 9월 25일이다)
구현할 때에는 두 가지 모두 제공하는 걸 추천하고 있다.

확인해보니 현재 웹킷에서는 두 가지 모두 구현하고 있다.
앞으로도 deprecated 된 메서드를 사용해도 크게 문제가 될 것 같진 않긴 하지만,
명확함을 위해 변경된 메서드를 사용하는 게 좋겠다.

그 외, PanningModelType, DistanceModelType, BiquadFilterType 의 enum 정의 방식도 바뀌었다.
좀 더 자세한 내용은 Web Audio 스펙의 Deprecation Section에서 확인할 수 있다.







반응형
댓글
공지사항