1
Web Audio API의 경우 start()의 지속 시간을 변경하는 방법이 있습니까? 예 : 소리 2 초 동안 재생 된 후, 지금은 내가 (연속 시작을 예약해야합니까 그것은 5 초 대신 3웹 오디오의 start() 지속 시간 변경
또는
에 대한 재생하려는 (0,0,3)를 시작) 이전에 중단 된 곳을 찾으시겠습니까?
미리 감사드립니다.
Web Audio API의 경우 start()의 지속 시간을 변경하는 방법이 있습니까? 예 : 소리 2 초 동안 재생 된 후, 지금은 내가 (연속 시작을 예약해야합니까 그것은 5 초 대신 3웹 오디오의 start() 지속 시간 변경
또는
에 대한 재생하려는 (0,0,3)를 시작) 이전에 중단 된 곳을 찾으시겠습니까?
미리 감사드립니다.
짧은 대답 : 아니오 인수를 사용하여 설정된 기간을 변경할 수 없습니다.
긴 대답은 :
그래서start
3 개 인수,
when
,
offset
,
duration
을 받아들입니다. 그러나
all of those are optional.
duration
인수를 전달하지 않으면 버퍼가 끝날 때까지 계속 재생됩니다 (또는
loop
속성이
true
으로 설정된 경우 계속 반복됩니다).
그래서 원하는 방법으로 수행하는 한 가지 방법은 에 duration
인수를 전달하지 않고 5 초 후 재생을 중지하려면 stop
함수를 호출하는 것입니다. stop
은 when
매개 변수를 사용하여 고급으로 예약 할 수도 있습니다. 따라서 귀하의 경우에는 2 초 표시에서 stop(context.currentTime + 3)
과 같은 이름을 부를 것입니다.
고마워, 그게 내 질문을 해결했지만 지금은 stop() 솔루션에서 비롯된 새로운 질문입니다. duration은 실제로 사운드 버퍼를 종료하지 않지만 stop()은 사운드 버퍼의 동일한 범위를 무기한으로 재생하려는 경우 (예 : 사용자 입력 변경에 기반), 이렇게 좋은 접근 방법은 무엇입니까? –
사용자 입력 이벤트의 콜백에서'stop' 함수를 호출 할 수 있습니다. 그렇게하면 사용자 입력이 발생하는 즉시 (또는 지연 후) 중지 할 수 있습니다. – notthetup
죄송합니다. 제 질문을 분명히 전달하지 않았을 수 있습니다. 무한정으로, 나는 루프와 같은 의미였습니다. 말하자면, 지점 A에서 지점 B까지 (지점 B가 동적으로 변경 가능함) 여러 번 재생하고 싶을 때, 지점 B의 정의 후에 정지를 사용하면 지점 A에서 지점 B까지 다시 재생할 수 없습니다. . –