2012-07-02 4 views
9

क्या <audio/> से createMediaElementSource के माध्यम से लोड किया गया ऑडिफ़ाइल होना संभव है और फिर ऑडियो डेटा को ऑडियोबफर सॉर्स नोड में लोड करना संभव है?createMediaElementSource के माध्यम से <audio/> तत्व से AudioBufferSourceNode में ऑडिओडाटा लोड करें?

ऑडियो-तत्व का उपयोग करते हुए एक स्रोत (MediaElementSource), एक विकल्प हो करने के लिए नहीं लगता है के रूप में के रूप में मैं noteOn और noteGrain तरह बफर तरीकों का उपयोग करना चाहते हैं।

दुर्भाग्य एक्सएचआर के माध्यम से audiofile लोड हो रहा है बफर के लिए सीधे एक विकल्प न (देखें Open stream_url of a Soundcloud Track via Client-Side XHR?)

ऑडियो तत्वों से बफर सामग्री लोड नहीं हो रहे है, हालांकि संभव हो रहा है:

http://www.w3.org/2011/audio/wiki/Spec_Differences#Reading_Data_from_a_Media_Element

या क्या स्रोत स्रोत के रूप में <audio/> -element के बफर का सीधे उपयोग करना संभव है?

उत्तर

5

यह संभव है। मेरी पोस्ट http://updates.html5rocks.com/2012/02/HTML5-audio-and-the-Web-Audio-API-are-BFFs पर देखें। वहां एक कोड स्निपेट और उदाहरण भी है। कुछ बकाया बग हैं, लेकिन वेब ऑडियो एपीआई में <audio> लोड करना चाहिए जैसा आप चाहते हैं।

+3

हाँ, लेकिन मुझे यह जानना अच्छा लगेगा कि MediaElementSource से ** बफर ** प्राप्त करने के लिए इसे एक बफर स्रोत नोड में उपयोग करना संभव है (जिसमें नोट है, नोटऑफ, नोटग्रेन इत्यादि)? –

+0

अच्छा उदाहरण, हालांकि :) –

+0

क्यों +100 बर्बाद होने दें ... तो आप वहां जाते हैं :) –

0

मुझे यकीन है कि अगर आप अभी तक एक बेहतर समाधान मिल गया और मैं भी W3C लिंक आप पोस्ट जाँच नहीं कर रहा हूँ: http://www.w3.org/2011/audio/wiki/Spec_Differences#Reading_Data_from_a_Media_Element

लेकिन आदेश के लिए यह वास्तव में काम करने के लिए आप AudioContext.createScriptProcessor() उपयोग करने के लिए में। मैंने अभी तक यह कोशिश नहीं की है लेकिन मूल रूप से आप स्रोत नोड (एक ऑडियो तत्व) को एक स्क्रिप्ट प्रोसेसर से कनेक्ट करते हैं, लेकिन यदि आपको इसकी आवश्यकता नहीं है तो ऑडियो को आउटपुट भी न करें। onaudioprocess कॉलबैक में आपके पास ऑडियो बफर डेटा (पाठ्यक्रम के निर्दिष्ट आकार के हिस्सों में) तक सीधे पहुंच है। उपरोक्त लिंक में उदाहरण हैं।

इसके अलावा मुझे लगता है कि आप किसी भी तरह प्लेबैक की गति ठीक कर सकते हैं, ताकि आप अधिक बफर सरणियों तेजी से प्राप्त कर सकते हैं।

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