Safari Audio.play() from blob not supported
<p>I am trying to play an m4a file from the cache in safari. The error first occured on iOS (it is a Meteor Cordova app, therefore it uses Safari Webview), then I realized that it can also be reproduced in Safari on desktop. I am using the following code to try and play the audio:</p>

<pre><code>LocalForage.getItem(track_id, (err, value)=&gt;{
    if(err)
        throw err;
    //the loaded value is an arraybuffer of an m4a file
    let blob = new Blob([value]);
    let url = (window.URL || window.webkitURL || window || {}).createObjectURL(blob);
    let testAudio = new Audio(url);
    testAudio.play().then(()=&gt;{console.log("play successful")}).catch((err)=&gt;{console.error(err)});
});
</code></pre>

<p>The only error message I get is</p>

<pre><code>DOMError: NotSupportedError (Message: "This operation is not supported")
</code></pre>

<p>If you are interested in the code used to download into the cache, it can be found <a href="https://stackoverflow.com/questions/40750143/android-url-createobjecturl-does-not-work-properly-failed-to-load-because-no-s/40870837#40870837">in my other question</a>, the fix for chrome provided there is implemented and working, but the testing code here is as simplified as possible.</p>