2015-12-22 5 views
2

Я запускаю Timbre.js успешно на iOS 9.2, соединив его с AudioContextMonkeyPatch, и я пытаюсь использовать слегка измененную версию кода, найденную здесь: http://mohayonao.github.io/timbre.js/interval.html. Код (для сохранения записи) является:Как правильно очистить timbre.js

var freqs = T(function(count) { 
    return [220, 440, 660, 880][count % 4]; 
}); 

var osc = T("sin", {freq:freqs, mul:0.5}); 
var env = T("perc", {a:50, r:500}, osc).bang(); 

var interval = T("param", {value:500}).linTo(50, "30sec"); 

T("interval", {interval:interval}, freqs, env).start(); 

env.play(); 

То, что я пытаюсь выяснить, как начать, а затем остановить и затем повторно запустить звук. Я пытаюсь понять, как работает кнопка разработчика «Пауза», но я не могу найти этот пример кода. Я делаю основные вещи tike «T(). Stop(); env.pause();» затем «env.play()»; (в отдельных событиях onClick), и я получаю несколько сигналов во втором игровом событии. Действительно расстраивает. В документации предлагается, что «removeAll» удалит все элементы, загруженные в Timbre() (или T()?), Но применение этого в моей функции останова также не дает удовлетворительного результата. Кто-нибудь знает правильный способ приостановить и перезапустить этот фрагмент сценария?

ответ

0

Чтобы начать и остановить последовательность, вам необходимо назначить последнюю функцию T переменной. Затем вы можете использовать .start() и .stop(), как вам нравится:

code.... 
var interval = T("param", {value:500}).linTo(50, "30sec"); 
var audioSequence = T("interval", {interval:interval}, freqs, env); 

env.play(); 

audioSequence.start(); // Start the Sequence 

interval.stop(); // Stop the interval 
audioSequence.stop(); // Stop the Sequence 
interval.start(); // Restart the Interval 
audioSequence.start(); // Restart the Sequence 

Ее немного запутанным на первый, как воспроизведение()/паузы() используется для генераторов или барабанов, например, и начать()/stop() используется для интервалов.

+0

Я рекомендую переименовать этот вопрос в «как запустить/остановить интервал/последовательность TImbre.js?» – RMSTOKES