• 0

كيف يمكنني تسجيل الصوت من المايك في صفحة الويب عند طلبها من الهاتف المحمول ؟

مرحبا

جربت record.js تعمل بشكل ممتاز عند التصفح من الحاسوب ولا تعمل عند التصفح من الهاتف ؟

هل لديكم حلول ؟

شكرا جزيلا

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

مرحباً بك.

المتصفح في الهاتف يختلف عن المتصفح في جهاز الحاسوب. Recorder.js تعمل باستخدام الـ Media Capture API وهنالك بعض المتصفحات في الهاتف لا تدعمه لأن لاتوجد لديها الصلاحيات للوصول لميكروفون الهاتف.

البحث عن متصفح آخر متوافق للهاتف المحمول قد يكون الحل الوحيد.

 شكراً لك.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

اهلا بك @Points Projects

في الاجهزة المحمولة بشكل عام نقوم باستخدم هذه الفنكشن للسماح بتسجيل الصوت من المايكروفون مباشرة من الموقع او صفحة الانترنت الخاصة بك  

getUserMedia();

الان للاستخدام قمت بكتابة مثال بسيط يحتوي على ٣ فنكشن واحدة لبدء التسجيل واخرى للايقاف المؤقت والاخيرة لللايقاف باستخدام 

getUserMedia();

 لذلك اتمنى ان يفيدك 
 

URL = window.URL || window.webkitURL;

var gumStream; 						//stream from getUserMedia()
var rec; 							//Recorder.js object
var input; 							//MediaStreamAudioSourceNode we'll be recording


var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioContext //audio context to help us record

var recordButton = document.getElementById("recordButton");
var stopButton = document.getElementById("stopButton");
var pauseButton = document.getElementById("pauseButton");

//add events to those 2 buttons
recordButton.addEventListener("click", startRecording);
stopButton.addEventListener("click", stopRecording);
pauseButton.addEventListener("click", pauseRecording);

function startRecording() {
	console.log("recordButton clicked");

	
    
    var constraints = { audio: true, video:false }

 	/*
    	Disable the record button until we get a success or fail from getUserMedia() 
	*/

	recordButton.disabled = true;
	stopButton.disabled = false;
	pauseButton.disabled = false

	

	navigator.mediaDevices.getUserMedia(constraints).then(function(stream) {
		console.log("getUserMedia() success, stream created, initializing Recorder.js ...");

		/*
			create an audio context after getUserMedia is called
			
		*/
		audioContext = new AudioContext();

		//update the format 
		document.getElementById("formats").innerHTML="Format: 1 channel pcm @ "+audioContext.sampleRate/1000+"kHz"

		/*  assign to gumStream for later use  */
		gumStream = stream;
		
		/* use the stream */
		input = audioContext.createMediaStreamSource(stream);

		/* 
			Create the Recorder object and configure to record mono sound (1 channel)
			Recording 2 channels  will double the file size
		*/
		rec = new Recorder(input,{numChannels:1})

		//start the recording process
		rec.record()

		console.log("Recording started");

	}).catch(function(err) {
	  	//enable the record button if getUserMedia() fails
    	recordButton.disabled = false;
    	stopButton.disabled = true;
    	pauseButton.disabled = true
	});
}

function pauseRecording(){
	console.log("pauseButton clicked rec.recording=",rec.recording );
	if (rec.recording){
		//pause
		rec.stop();
		pauseButton.innerHTML="Resume";
	}else{
		//resume
		rec.record()
		pauseButton.innerHTML="Pause";

	}
}

function stopRecording() {
	console.log("stopButton clicked");

	//disable the stop button, enable the record too allow for new recordings
	stopButton.disabled = true;
	recordButton.disabled = false;
	pauseButton.disabled = true;

	//reset button just in case the recording is stopped while paused
	pauseButton.innerHTML="Pause";
	
	//tell the recorder to stop the recording
	rec.stop();

	//stop microphone access
	gumStream.getAudioTracks()[0].stop();

	
}


شكرا لك 
تحياتي

تمّ تعديل بواسطة Mohamd Imran

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن