остановите и возобновите запись в файл узла js - PullRequest
0 голосов
/ 25 апреля 2019

Я использую node-lame для записи аудиовхода в файл.Через некоторое время я прекращаю запись, сохраняю ее, а затем, в какой-то момент, снова записываю.Код у меня работает ... но я продолжал получать сообщение об ошибке, что файл все еще записывался, когда я отключил кодировщик.Я обманул и просто поставил setTimeout, который исправил проблему, но я знаю, что это не правильный путь.Как бы мне взять этот код и сделать его правильным, чтобы мне не нужно было устанавливать setTimeout без всякой причины?

recordingDecoder = chunker;
isRecording = true;
recordingDecoder.pipe(encoder);
var writeStream = fs.createWriteStream(__dirname+'/../recorded_calls/currentCall.wav');
writeStream.on('open', function() {
	console.log('write stream open')
	encoder.pipe(writeStream);	
})



...
...
...

if(isRecording) {
	 recordingDecoder.unpipe(encoder);
        setTimeout(function() {
            encoder.end();
            isRecording = false;
            encoder = false;
        }, 100)

	setTimeout(function() {
		recordingProccessor.process(function() {
			fs.unlink('../recorded_calls/currentCall.wav', function(){
				console.log('file deleted');
			});
		});
		
	}, 1000)
	
	
}
...