क्या IOS13 टूट गया है <ऑडियो> टैग ऑडियो संदर्भों से जुड़े ऑडियो बफ़र्स के रूप में उपयोग किया जाता है?


10

वर्तमान में हम एक ऐसी वेबसाइट विकसित कर रहे हैं जो उपयोगकर्ताओं को ऑडियोऑक्सटेक्स्ट से जुड़े सरल ऑडियो टैग खेलने की अनुमति देती है। हम IOS के साथ तकनीकी मुद्दों से अवगत हैं, जैसे कि उपयोगकर्ता के इशारों द्वारा शुरू किया गया प्लेबैक। IOS12 तक सब कुछ ठीक काम कर रहा है। अब जब IOS13 बाहर है, तो कुछ भी काम नहीं करता है।

यह IOS13 तक सभी डेस्कटॉप, एंड्रॉइड और IOS पर काम करता है।

कोई आइडिया है क्या चल रहा है?

IPhone से जुड़े डेस्कटॉप पर Safari के साथ डीबगिंग करते समय कंसोल में कोई त्रुटि संदेश नहीं हैं।

https://codepen.io/gchad/pen/WNNvzzd

<!DOCTYPE html>
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<body>

<div>
  <h1>Play Audio Tag connected to audio context</h1>
  <div id="playbutton" style="width:100px; height:100px; background:blue; color:white; margin:auto; text-align: center; font-size: 30px; cursor: pointer;">
    Play
  </div>

  <audio  id="myPlayer" crossorigin="anonymous" >
    <source src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/858/outfoxing.mp3"/>
      <!--http://commondatastorage.googleapis.com/codeskulptor-assets/week7-brrring.m4a-->
  </audio> 
</div>

<script>

var player = document.getElementById('myPlayer'),
playbutton = document.getElementById('playbutton'),
playStatus = 'paused';

var audioContext = new(window.AudioContext || window.webkitAudioContext)();
var audioSource = audioContext.createMediaElementSource(player); 
audioSource.connect(audioContext.destination); 

playbutton.addEventListener('click',function(ev){

  if( playStatus == 'paused'){

    audioContext.resume();
    player.play();
    playbutton.innerHTML = "Pause";
    playStatus = 'isPlaying';

  } else {

      player.pause();
      playbutton.innerHTML = "Play";
      playStatus = 'paused';
  }
});
</script>

</body>


1
मेरा ऐप भी टूट गया है। लेकिन मैं आपको क्लिक करने से पहले ऑडियो संदर्भ बनाता हूं, इसे ios 12 में भी अनुमति नहीं दी गई थी।
शुक्शीन.विवचन

audioContext.resume();रेखा इस बात का ध्यान रखना चाहिए, लेकिन मैं क्या इस प्रकार इस तरह, वादा संकल्प में होना चाहिए लगता है:। AudioContext.resume () तो (function () {player.play () playbutton.innerHTML = "रोकें"; playStatus = ''प्लेइंग';}
पाउली

मैंने पहले ही कोडपेन में वादा जोड़ दिया था। लेकिन वादे के साथ या बिना, यह कुछ भी बदलता है।
जॉनलॉयड

मेरी भी यही समस्या है। केवल अंतर यह है कि ऑडियो टैग डायनामिक रूप से सिंगल पेज ऐप में दिया गया है। मैंने इसे srcपूर्ण URL के साथ स्थैतिक बनाकर आंशिक रूप से काम किया । हालांकि, यह केवल तभी काम करता है जब आप सफारी छोड़ दें और फिर इसे फिर से खोलें। बहुत ही अजीब व्यवहार।
पैंट

जवाबों:


3

दुर्भाग्य से, AudioContext.createMediaElementSourceआईओएस 13. की ​​रिलीज के बाद से टूट गया है। बग को सफारी प्रौद्योगिकी पूर्वावलोकन 99 में तय किया गया था : https://bugs.webkit.org/show_bug.cgi?id=203435 , लेकिन यह अभी भी हाल ही में टूट गया है iOS की रिलीज़, इसलिए एक नई बग रिपोर्ट दर्ज की गई, जिसे यहां देखा जा सकता है: https://bugs.webkit.org/show_bug.cgi?id=211394


ऐसा लगता है कि वेबकिट के देवों ने इसे कुछ दिन पहले तय किया है, हालांकि, मैं अभी भी नवीनतम आईओएस संस्करण पर समस्या का सामना कर रहा हूं। क्या यह अगले आईओएस रिलीज़ या वेबकिट रिलीज़ के साथ तय होने जा रहा है? मैं उलझन में हूं।
छाता

@Umbrella मैंने नवीनतम अपडेट के साथ अपना उत्तर संपादित किया है।
जोर्डी वैन डॉर्टमोंट

2

इस मुद्दे को गलती से iOS 13.3.1 (28 जनवरी, 2020) में तय किया गया था। फिर भी, जैसा कि कोई भी इस WebKit बग रिपोर्ट 203435 से पढ़ सकता है , समस्या अभी भी 7 अप्रैल, 2020 तक है, iOS 13.4.1 की रिलीज की तारीख।

बग रिपोर्ट अनुमानित तिथि के संबंध में कोई और जानकारी प्रदान नहीं करती है जो इस बग को ठीक करने वाली है। अफसोस की बात है, 80% iOS उपयोगकर्ताओं (स्टेटकाउंटर के अनुसार कुल मोबाइल बाजार का लगभग 14%) को गलती से महीनों से अपने उपकरणों पर WebAudio का उपयोग करने से अक्षम कर दिया गया है।

हमारे लिए डेवलपर्स के लिए जो चीजें बदतर होती हैं वह यह है कि सफारी किसी भी त्रुटि की रिपोर्ट नहीं करता है। इस प्रकार, यहां तक ​​कि एक गिरावट की कल्पना करना भी संभव या बहुत कठिन नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.