본문 바로가기

audio timing2

[Web Audio API #5] 재생-멈춤-재생 예제 코드 앞의 글에서 stop() 메서드가 호출된 오디오 소스 노드는 재활용이 불가능하고, 오디오를 다시 재생하기 위해서는 새로운 소스 노드를 생성해야 함을 살펴보았다. 그리고 이를 활용한 오디오의 재생-멈춤-(이어서)재생 방법에 대해서도 살펴보았다. 오디오 그래프의 currentTime 속성 값은 audio context 객체의 resume() 메서드를 통해 오디오 그래프가 활성화된 이후로 계속 증가한다. 따라서 이를 이용해서 start() 시점과 stop() 호출 시점의 차이를 구하면 오디오를 얼마나 재생했는지 알 수 있고 멈췄던 오디오를 이어서 재생할 수 있다. 멈춘 오디오를 이어서 재생하기 위해 어느 시점에 오디오 소스 노드를 새로 생성해야 하는지 전체 코드의 관점에서 살펴보자. 아래 예제 코드는 서버로부.. 2021. 6. 29.
[Web Audio API #4] 재생-멈춤-재생 웹 브라우저 혹은 웹 어플리케이션에서 오디오를 재생하기 위해 오디오 그래프audio graph를 구성하고 오디오 그래프 소스 노드의 start(), stop() 메서드를 호출해서 오디오를 재생하고 정지시킨다. // decode 대상 buffer는 서버로 부터 받은 blob, 즉 파일 buffer를 의미한다. audioContext.decodeAudioData(buffer, (buffer) => { audioBuffer = buffer; }); //source - destination(=오디오 출력 장치)으로 이루어진 오디오 그래프 source = audioContext.createBufferSource(); source.buffer = audioBuffer; source.connect(audioConte.. 2021. 6. 28.