@Deefs

Что нужно чтобы сгруппировать код?

Есть функция записи старый метод и новый , по своему разные не могу понять как с новой функции вставить в старую именно запись , а stop play пусть останется

НОВАЯ ФУНКЦИЯ
function Wo_startRecording() {
  recorder     &&    recorder.record();
  recording_time.removeClass('hidden');
  recorder     && recorder.exportWAV(function(blob){});
  recorder     && setTimeout(Wo_ShowRecordingTime,1000,recording_time);
  console.log('recording started');
}function Wo_stopRecording() {
  recorder     &&          recorder.stop();
  wo_timeout   && clearTimeout(wo_timeout);
  console.log('recording sotopped');
}function Wo_StopLocalStream(){
  localstream  && localstream.getTracks()[0].stop();
  localstream  = false;
  delete(recorder);
}


Старая функция

audioRecorder.start=function(el){
	var audioRecorderElem=$(el).parents('.audioRecorder');
	var status=audioRecorderElem.attr('status');
	
	if(status=='record'){
		audioRecorder.stop(el);		
	}
	else if(status=='stop'){
		audioRecorder.play(el);	
	}
	else if(status=='pause'){
		audioRecorder.play(el);
	}
	else if(status=='play'){	
		audioRecorder.pause(el);
	}
	else{
		audioRecorder.record(el);
	}
};
audioRecorder.record=function(el){
	var audioRecorderElem=$(el).parents('.audioRecorder');
	try{
		window.AudioContext = window.AudioContext || window.webkitAudioContext;
		navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;
		window.URL=window.URL||window.webkitURL;
		audioRecorder.context=new AudioContext;
	}catch(e){
		alert('Ваш браузер не поддерживает веб аудио!');
		return false;
	}
	navigator.getUserMedia({audio:1},function(stream){
		audioRecorder.localStream=stream;
		var input=audioRecorder.context.createMediaStreamSource(stream);
		audioRecorder.recorder=new Recorder(input);
		audioRecorder.recorder.record();
		audioRecorder.startRecordTime(el);
		audioRecorderElem.attr({'status':'record'});
	},function(err){});	
};
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ответы на вопрос 1
@dimentimor
В старом варианте audioRecorder - это объект, у которого есть методы старт, стоп, ..., рекорд.
И потом вы вызываете его методы audioRecorder.recorder.record() и другие.

А новая функция - это три "внешних" функции, которые вызывают методы recorder.record() и др. Почему без audioRecorder перед recorder.record - не понятно. Разве что эти функции вызываются в контексте audioRecorder.

Новая функция- не замена старой. Она лишь создает "интерфейс" для работы с audioRecorder. Если вам нужно что-то из нее- то перенесите это в нужный метод объекта audioRecorder, или в ту часть, где вы его используете (navigator.getUserMedia).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы