를 반복하고, (E) 끝. 나는 오디오 파일 노래 = I + L + E, 오디오 재생 = I + L + L + 등의 엔딩이 전혀 연주되는 것을 원하지 않습니다 ...디코딩 오디오 및 게임 소개는, 내가 소개 (I)로 구성된 노래를 (L) 반복되는 부분을 일부
인트로와 두 파일로 루프하지만, 나는 클라이언트 측에서 "on-the-fly"하고 싶다.
어떻게하면됩니까?
를 반복하고, (E) 끝. 나는 오디오 파일 노래 = I + L + E, 오디오 재생 = I + L + L + 등의 엔딩이 전혀 연주되는 것을 원하지 않습니다 ...디코딩 오디오 및 게임 소개는, 내가 소개 (I)로 구성된 노래를 (L) 반복되는 부분을 일부
인트로와 두 파일로 루프하지만, 나는 클라이언트 측에서 "on-the-fly"하고 싶다.
어떻게하면됩니까?
웹 오디오 API는 정확히 AudioBufferSourceNode.loopStart
및 AudioBufferSourceNode.loopEnd
(source)을 제공합니다. AudioBufferSourceNode.loop = true
도 기억해야합니다.
웹 오디오를 사용하여 파일을 재생하려는 경우 (예 : decodeAudioData()를 사용하여 AudioBuffer로 디코딩 한 다음 BufferSourceNodes로 사운드를 재생하는 경우) 두 개의 BufferSource Nodes를 다른 오프셋으로 가리키면 쉽게 수행 할 수 있습니다. 두 번째 루프를 반복합니다.
웹 오디오 복식 (float가 아닌)를 사용합니다 - 그래서 문장은 "이 플로트 초보다 훨씬 더 정확하다"(복식 정확도의 약 15 소수점 자리가) 일반적으로 사실이 아니다. (물론, 절대 값에 따라). 이것은 (즉 값 사이에있는 결함되지 않음) 샘플 정확도로 재생하기에 충분히 정확한 이상이다; 당신이 염려한다면, 그들 사이에 크로스 페이드를하십시오. 당신의 목표는 정말 그 부분은 루프와 오디오 파일을 생성하는 경우
, 그건 좀 다릅니다; 그러나 당신이 재생을 원하는 것처럼 들린다.