2012-05-23 24 views
9

क्या एचटीएमएल 5 के साथ ध्वनि रिकॉर्ड करना संभव है? मैंने क्रोम के नवीनतम कैनरी संस्करण को डाउनलोड किया है और निम्न कोड का उपयोग किया है:रिकॉर्डिंग एचटीएमएल 5 ऑडियो

navigator.getUserMedia = navigator.webkitGetUserMedia || navigator.getUserMedia; navigator.getUserMedia ({audio: true}, gotAudio, noStream);

यह तो ऑडियो रिकॉर्डिंग की अनुमति के लिए उपयोगकर्ता को संकेत देता है, और अगर आप कहते हैं कि "हाँ" बताने वाला संदेश दिखाई देता है कि क्रोम रिकॉर्डिंग है। हालांकि इसमें ऑडियो बफर को कच्चे डेटा के साथ एक्सेस करना संभव है? मुझे लगता है कि कैसे पता लगाने में सक्षम नहीं लगता है। ऐसे सुझाव दिए गए हैं जिन्हें अभी लागू नहीं किया गया है, क्या किसी को पता है कि यह वास्तव में किसी भी ब्राउज़र पर किया जा सकता है, और निर्देश प्रदान करते हैं?

+0

यह एक पिछले प्रश्न में चर्चा की है। http://stackoverflow.com/questions/4227313/audio-capturing-with-html5 – AurA

+0

हां लेकिन नई जानकारी अब उपलब्ध हो गई है और पिछले प्रश्न अब पुराना है। –

उत्तर

2

यहाँ आप मेरी उदाहरण मिल सकते हैं, लेकिन यह (आंशिक रूप से) काम नहीं कर रहा। क्योंकि ऑडियो रिकॉर्डिंग क्रोम को अभी तक लागू नहीं किया गया है। Thats आपको 404 त्रुटि क्यों मिलेगी, जो कहता है कि बीएलओबी नहीं मिल सकता है।

इसके अलावा इसके नीचे एक रूप है क्योंकि मेरे उद्देश्य एक php फ़ाइल के लिए कि ब्लॉब भेज रहा था है, लेकिन काम नहीं कर के बाद से, मैं कोशिश नहीं कर सकते। इसे सहेजें, आप बाद में उपयोग कर सकते हैं।

<audio></audio> 
<input onclick="startRecording()" type="button" value="start recording" /> 
<input onclick="stopRecording()" type="button" value="stop recording and play" /> 
<div></div> 
<!-- 
<form enctype="multipart/form-data"> 
<input name="file" type="file" /> 
<input type="button" value="Upload" /> 
</form> 
--> 

<script> 
    var onFailed = function(e) { 
    console.log('sorry :(', e); 
    }; 

window.URL = window.URL || window.webkitURL; 
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || 
          navigator.mozGetUserMedia || navigator.msGetUserMedia || 
var localStream 

var audio = document.querySelector('audio'); 
var stop = document.getElementById('stop'); 


    function startRecording(){ 
     if (navigator.getUserMedia) { 
      navigator.getUserMedia({audio: true, video: false, toString : function() {return "video,audio";}}, function(stream) { 
      audio.src = window.URL.createObjectURL(stream); 
     document.getElementsByTagName('div')[0].innerHTML = audio.src; 
      localStream = stream; 
      }, onFailed); 
     } else { 
      alert('Unsupported'); 
      //audio.src = 'someaudio.ogg'; // fallback. 
     } 
    } 



    function stopRecording(){ 
     localStream.stop(); 
     audio.play(); 
    } 


    function sendAudio(){ 

    } 
</script> 

ध्यान दें: फ़ायरफ़ॉक्स के लिए कुछ जानकारी और howto: https://hacks.mozilla.org/2012/07/getusermedia-is-ready-to-roll/

+0

अभी भी संभव नहीं है? – Thomas

+0

मुद्दा सूची के अनुसार: http://code.google.com/p/chromium/issues/detail?id=113676 यह नहीं है, लेकिन आप यह जाँच करना चाहते हो सकता है: https://github.com/thomasboyt/web -ऑडियो-रिकॉर्डिंग-डेमो मैंने अभी देखा, कोशिश नहीं की। – siniradam

3

वेबकिट और क्रोम ऑडियो एपीआई समर्थन रिकॉर्डिंग, तथापि के रूप में अपने एपीआई विकसित यह कोड उन का उपयोग करता है बनाए रखने के लिए कठिन हो जाएगा।

एक सक्रिय खुला स्रोत Sink.js नामित परियोजना रिकॉर्डिंग की अनुमति देता है और यह भी आप कच्चे नमूने पुश करने के लिए अनुमति देता है: https://github.com/jussi-kalliokoski/sink.js/। चूंकि परियोजना बहुत सक्रिय है क्योंकि वे वेबकिट और क्रोम में आने वाले बदलावों के शीर्ष पर बने रहने में सक्षम हैं।

0

अब यह ऑडियो संदर्भ एपीआई और getChannelData() का उपयोग कर ऑडियो बफर का उपयोग करना संभव है।

: https://github.com/nusofthq/Recordmp3js

recorder.js में आप कैसे ऑडियो बफर तो जैसे चैनलों द्वारा व्यक्तिगत रूप से एक्सेस किया जाता है देखेंगे:

यहाँ GitHub पर एक परियोजना है कि ऑडियो सीधे एमपी 3 प्रारूप में रिकॉर्ड करता है और वेबसर्वर पर यह बचाता है

this.node.onaudioprocess = function(e){ 
     if (!recording) return; 
     worker.postMessage({ 
     command: 'record', 
     buffer: [ 
      e.inputBuffer.getChannelData(0), 
      //e.inputBuffer.getChannelData(1) 
     ] 
     }); 
    } 

कार्यान्वयन आप निम्नलिखित ब्लॉग पोस्ट पढ़ सकते हैं की एक अधिक विस्तृत विवरण के लिए: http://nusofthq.com/blog/recording-mp3-using-only-html5-and-javascript-recordmp3-js/

संबंधित मुद्दे