- Shipped
- 20 अगस्त 2026 को 3:33 pm बजे UTC
- Author
- Kamo
- Commit
- 25d0059
अभी तक अनुवर्ती। तैनात साइट के खिलाफ टेस्टिंग टैप-टू-प्ले एक हो गया विफलता मोड म्यूटेड गिरावट को कवर नहीं किया गया था। एक `play()` अस्वीकार कर दिया, और यह पहले से ही संभाला गया था। शांत विफलता है बुरा: ब्राउज़र वादा करता है, रिपोर्ट करता है `pause: झूठा` और एक स्वस्थ रेडीस्ट स्टेट, बीस सेकंड तक बफरिंग रखता है - और कभी भी घड़ी को आगे नहीं बढ़ाता है, क्योंकि यह ऑडियो प्रस्तुत नहीं कर सकता है। पाठक एक जमे हुए फ्रेम पर खेलते हैं और देखता है कंसोल में कुछ भी नहीं है। वास्तव में उस तरह से हेडलेस क्रोम में सुधार हुआ, इसमें कोई ऑडियो आउटपुट डिवाइस नहीं है। इसलिए प्लेबैक की प्रगति को मानने की बजाय जांच की जाती है, और इसके दो विवरण जांच करने से पहले दोनों को गलत होना पड़ा: · वॉचडॉग `.then()` को लटका नहीं सकता। यह पहला प्रयास था और यह कभी नहीं, स्पष्ट कारण के लिए एक बार देखा: stalled मामले में वादा न तो रास्ता तय करता है, इसलिए इससे जुड़े एक हैंडलर ठीक है वह चीज़ जो नहीं चल सकती। यह बजाय खेलने से पहले एक घड़ी पर सशस्त्र है। यह शून्य से तुलना नहीं कर सकता। एक stalled तत्व अभी भी अपने पहले decodes फ्रेम, इसलिए `currentTime` 0 के बजाय 0.021 पढ़ता है — मापा — और एक naive `> startAt` परीक्षण कॉल कि प्लेबैक और फ्रीज़ के माध्यम से अनुमति देता है। The थ्रेसहोल्ड एक दूसरे का एक चौथाई है: अच्छी तरह से एक फ्रेम से स्पष्ट, अच्छी तरह से नीचे कुछ भी स्वस्थ। वर्स्ट केस अब एक अभी भी फ्रेम है कि कभी नहीं चाल के बजाय प्लेबैक muted है। सत्यापित: एक फ्रेम पर unmuted प्रयास स्टालों, ~ 1.5s पर watchdog mutes, और वर्तमान समय तब 2.5 -> 7.5s को आगे बढ़ाता है। कंसोल और मुद्दे स्वच्छ, सभी गार्ड पास करते हैं। समीक्षा के लिए ध्यान दें: इस पर्यावरण में कोई ऑडियो डिवाइस नहीं है, इसलिए निर्बाध प्लेबैक है मैं यहां एक चीज की पुष्टि नहीं कर सकता - वास्तविक मशीन पर एक प्रेस के लायक सुनिए कि यह चुपचाप गिरने के बजाय ध्वनि से शुरू होता है।.