OfflineContext.suspend
останавливает прогрессию OfflineContext.currentTime
, но какой эффект оказывает при рендеринге (OfflineContext.startRendering
)? Я хочу сделать процесс рендеринга, приостановить его, выполнить другую задачу и возобновить ее, когда будет выполнена другая задача. В то время как процесс рендеринга приостанавливается, неизбежный AudioBuffer
не должен увеличиваться, а это означает, что при экспорте AudioBuffer
в wav-файл и его воспроизведение не должно быть молчания, соответствующего паузе, принятой процессом рендеринга.Как приостановить автономный рендеринг?
Я пробовал OfflineContext.suspend
во время рендеринга, и он, кажется, добавляет некоторую тишину в полученный wav-файл, но, возможно, я делаю что-то неправильно.
- Как приостановить процесс рендеринга?
- Что такое
OfflineContext.suspend
?
Так что 'suspend' позволяет мне начинать рендеринг, приостанавливать рендеринг, выполнять некоторую задачу и возобновлять рендеринг без добавления тишины в аудио? Если да, то у меня, вероятно, есть тишина в моем звуке, потому что я вызываю 'suspend' после начала рендеринга. Пара миллисекунд, которую требуется для выполнения кода для достижения 'suspend' после вызова' startRendering', достаточно, чтобы вставить 1 минуту молчания. – maximedupre
Да. Вы должны вызвать 'suspend' и' resume', чтобы сделать все, что вам нужно, а затем вызвать 'startRendering'. Случается, что при рендеринге контекст останавливается в заданное время, запускает код и возобновляет (если требуется) все синхронно. Единственное, о чем нужно быть осторожным, это то, что время приостановки квантуется до предшествующей (?) 128-кадровой границы. –