व्यवहार के बारे में मैं वर्णन करने के लिए क्रोम 44 में होता हूँ में एक से दूसरे आवृत्ति से बहने, लेकिन नहीं फ़ायरफ़ॉक्स 40.वेब ऑडियो दोलन अप्रत्याशित रूप से क्रोम
में भी हो आप एक दोलक बनाते हैं करता है, यह सेट 220 हर्ट्ज की आवृत्ति के लिए, और उसके बाद आवृत्ति को 440 हर्ट्ज में बदल दें, आप एक अलग पोर्टमैंटो प्रभाव सुन सकते हैं: 220 से 440 तक तुरंत बदलने के बजाय, ऑसीलेटर मूल आवृत्ति से नए आवृत्ति से ग्लाइड करता है।
नीचे कोड इस घटना दिखाता है:
var ac = new AudioContext();
var osc = ac.createOscillator();
osc.connect(ac.destination);
osc.type = 'sawtooth';
osc.frequency.value = 220;
osc.start(0);
window.setTimeout(function() {
osc.frequency.value = 440;
}, 1000);
window.setTimeout(function() {
osc.stop(0);
}, 2000);
मैं OscillatorNode वस्तु के लिये दस्तावेज की जांच की है, और इस व्यवहार का कोई उल्लेख नहीं है।
मैंने Google को भी खराब कर दिया है, और (आश्चर्य की बात है) मुझे इस घटना का कोई अन्य उल्लेख नहीं मिल रहा है।
क्या चल रहा है? यह उचित व्यवहार की तरह प्रतीत नहीं होता है। अगर मैं आवृत्ति ग्लाइड पर चाहता था, तो मैं linearRampToValueAtTime() विधि का उपयोग करूंगा। आवृत्ति को सीधे एक विशिष्ट मान पर सेट करना चाहिए ... ऐसा करें।
क्या यह सिर्फ एक बग है? मुझे पता है कि यह एपीआई अभी भी प्रवाह में है, लेकिन यह एक बग होने के लिए बहुत स्पष्ट लगता है - यह सबसे सरसरी परीक्षण पास नहीं करेगा। लेकिन मैं यह भी कल्पना नहीं कर सकता कि Google इसे जानबूझकर लागू करेगा।
सबसे महत्वपूर्ण बात यह है कि क्या कोई कामकाज है?
यह फ़ायरफ़ॉक्स में "सही ढंग से" काम करता है, यह एक वेबकिट मुद्दा है, इसलिए यह ओपेरा और सफारी के साथ भी काम करता है। –