Pergunta

Nós sabemos que quando você chamar #.stop() em um AudioBufferNode, você pode, em seguida, #.start().Qual é o comportamento assim?

Este problema surgiu quando a brincar com WebAudio API, como todos nós descobrir mais cedo ou mais tarde, ao tentar implementar a funcionalidade de pausa.O que despertou meu interesse foi, com certeza, eu entendo que é um fluxo e você não pode simples "pausa" de uma sequência.Mas por que ele se destrua?Internamente, não há um ponteiro para os dados, ou que os dados simplesmente empurrado para o destino e esquecido pela memória intermédia?

Foi útil?

Solução

Você não está chamando .stop() em um AudioBuffer, o que você está chamando .stop() em um BufferSourceNode - o AudioBuffer pode ser usado várias vezes.

A versão curta é que é uma otimização que permite fogo-e-esqueça a reprodução de buffers em um muito leve, forma - você pode construir um nível superior media player em torno dele, mas em si e para si BufferSourceNodes são muito leves.Os dados de som em si não é esquecido, e pode ser reutilizado, de fato, utilizado simultaneamente por outros BufferSourceNodes - porque é separado AudioBuffer objeto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top