首页 > 解决方案 > iOS 12 上的 webkitaudiocontext 无法正常工作?

问题描述

我正在开发一个角度应用程序。这个应用程序需要播放保存在 IndexedDB 中的音频。所以我保存了arrayBuffer,当我启动PWA APP时,我立即将arrayBuffer放入AudioBuffer中。然后当用户点击一个按钮时,创建一个 AudioContext || WebKitAudioCONtext(iOS 专用)并使用 audioBuffer 等 start() 设置源。

没有回调函数或承诺。我已阅读并理解 iOS 的局限性。但是什么都没有,iOS上没有声音。它适用于 Mac 上的 Safari、Chrome 上、Android 上,但不适用于 iPhone。

我试过很多音频库。

例如,我发现使用 pizzitaco.js ( https://alemangui.github.io/pizzicato/ ) 网站示例仅在您允许访问麦克风的情况下才能在 iPhone 上运行。如果刷新页面拒绝麦克风,没有声音...

我真的对苹果感到沮丧!

请帮我

标签: htmlaudiowebkitaudiocontextaudiobuffer

解决方案


我发现的唯一解决方案是在 iOs 上要求访问麦克风。如果我们可以访问麦克风,我们可以使用 webkitAudioContext 来播放声音!

不明白为什么,但它工作。

navigator.mediaDevices.getUserMedia({ audio: true, video: false })

推荐阅读