2012년 2월 2일 목요일

audiolib.js 를 사용하여 Web Audio 를 만져보자. 악기도 만들어보자.

https://github.com/jussi-kalliokoski/audiolib.js/wiki/Tutorials

아무래도 안되겠어서 튜토리얼을 읽기로함.
Oscillator 를 써서 440hz 음을 내는 것부터 다시.

http://jsbin.com/uculiz/10/edit


var p = {
  channelCount : 2,
  frequency : 440,
  preBufferSize : 0,
  sampleRate : 44100,
  gain:1.0,
  rec:null,
  dev:null,
  audioElement:null,
  onReady : function(){
    $("#play").click(p.onPlay);
    $("#stop").click(p.onStop);
  },
  onPlay: function() {
    dev = audioLib.AudioDevice(function(buffer, channelCount) {
      osc.append(buffer, channelCount);
    }, p.channelCount);
    osc = audioLib.Oscillator(dev.sampleRate, p.frequency);
  },
  onStop: function() {
    dev.kill();
  }
};

$().ready(p.onReady);


음 역시 이렇게 하는건 안끊기네. kill로 끊는 것도 잘되고. (근데 설명에선 chrome 이 kill을 지원안한다고 하네)
하지만 내가 원하는 건 이런게 아니야. tutorial을 다 봐도 시큰둥.

아 정말 새로 만들어야하나;