Posted on

웹 오디오 다운로드

여기서 채널 개수는 OfflineAudioContext를 구성할 때 지정 된 채널 수입니다. 이 값은 변경할 수 없습니다. 는 채널 개수가 다른 값으로 변경 되는 경우 throw 되어야 합니다. 현재 연결 및 예약 된 변경 내용을 감안할 때 오디오 렌더링을 시작 합니다. 시스템은 보장 해야는 OfflineAudioContext는 약속이 해결 되 고 모든 콜백 함수가 호출 및 완료 될 때까지 또는 일시 중단 함수가 호출 될 때까지 가비지 수집 되지 않습니다. 오디오 worklets을 사용 하 여 JavaScript 또는 웹 어셈블리에서 작성 된 사용자 정의 오디오 노드를 정의할 수 있습니다. 오디오 작업을 통해 작업자 인터페이스의 경량 버전인 Worklets 인터페이스를 구현할 수 있습니다. 오디오 작업 수는 Chrome 66 이상에 대해 기본적으로 활성화 되어 있습니다. 꼬리 시간 참조는 AudioNode 아직 내보내지 않은 내부 처리 상태를가지고 있는 동안 자체적으로 유지 합니다.

예를 들어, ConvolverNode에는 무음 입력을 받은 후에도 계속 재생 되는 꼬리가 있습니다 (대형 콘서트홀에서 손을 박수 하 고 홀 전체에서 소리가 울려 들리는 것을 계속 하는 것을 생각해보십시오). 일부 AudioNodes는이 속성을가지고. 특정 노드에 대 한 세부 정보를 참조 하십시오. AudioNodes는 두 가지 방법으로 만들 수 있습니다:이 특정 인터페이스에 대 한 생성자를 사용 하 여 또는 팩터리 메서드를 사용 하 여 BaseAudioContext 또는 AudioContext. 또한 모듈식 라우팅을 통해 AudioNodes의 출력이 다른 Audionodes의 동작을 제어 하는 AudioParam 매개 변수로 라우팅될 수 있습니다. 이 시나리오에서 노드의 출력은 입력 신호가 아닌 변조 신호로 작동할 수 있습니다. 에 대 한 초기 X 값입니다. CurrentTime의 시간 좌표계에서 값 0은 그래프에 의해 처리 된 첫 번째 블록의 첫 번째 샘플 프레임에 해당 합니다. 이 시스템에서 경과 된 시간은 BaseAudioContext에 의해 생성 된 오디오 스트림의 경과 시간에 해당 하며,이는 시스템의 다른 클럭과 동기화 되지 않을 수 있습니다. (OfflineAudioContext의 경우 스트림이 모든 장치에서 활발 하 게 재생 되지 않기 때문에 실시간에 대 한 근사치도 없습니다.) 재생할 오디오 자산입니다. 이는 AudioBufferSourceNode의 버퍼 특성에 버퍼를 할당 하는 것과 같습니다. 오디오 작업을 정의 하기 전에 웹 오디오 API는 JavaScript 기반 오디오 처리를 위해 Scriptprocess 노드를 사용 했습니다.

코드가 주 스레드에서 실행 되 고 있기 때문에 성능이 좋지 않았습니다. Scriptprocess 노드는 역사적인 이유로 유지 되지만 사용 되지 않음으로 표시 되며 이후 버전의 사양에서 제거 됩니다. 경우는 BaseAudioContext 시작 하도록 허용 되지 않습니다, 약속을 반환 하 고 이러한 단계를 중단 하 고 pendingResumePromises를 추가 합니다. 여러 오디오 스트림의 채널을 단일 오디오 스트림으로 결합 하는 데 사용할 수 있는 AudioNode입니다.