无法使用 JavaScript 在 iPhone 上播放声音,但可以在 Android 上播放

Posted

技术标签:

【中文标题】无法使用 JavaScript 在 iPhone 上播放声音,但可以在 Android 上播放【英文标题】:Not able to play sound on iphone using JavaScript but able to play on Android 【发布时间】:2016-04-25 09:39:41 【问题描述】:

我正在尝试使用 javascript 库在 android 和 iPhone 上播放声音通知,但我只能在 android 上播放声音,而不能在 iPhone 上播放。

我正在使用 JavaScript ion.sound.play("beep") 这个函数来播放声音。我将声音文件保存在我的文件夹中。谁能帮我吗;如何使用 JavaScript 在 iPhone 上播放声音?

【问题讨论】:

【参考方案1】:

ios9 中,声音需要用户输入。您可以使用“不可见”按钮初始化声音,该按钮在您的应用程序初始化时一键消失。一旦触发,您应该能够以编程方式调用 ion.sound.play("beep") 。我会帮你的。

CSS:

<style>
    #init 
        position: absolute;
        margin-right: 0px;
        margin-left: 0px;
        margin-top: 0px;
        margin-bottom: 0px;
        z-index: 1000;
    
</style>

JAVASCRIPT:

if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) 

    document.write('<a id="init" ontouchstart="javascript:sndInit();"></a>');

    function sndInit()
    ion.sound.play("beep");
    ion.sound.pause("beep");
    document.getElementById('init').style.display = 'none';
    

【讨论】:

好的,谢谢.. 我创建了一个演示,点击播放按钮后我可以在 iphone 中听到声音。但我想在没有任何用户输入的情况下播放页面加载。我还尝试了 document.ready 函数中点击事件的触发方法,但没有运气。是否可以在页面加载时播放声音? 只需添加这个 感谢您的建议。我已经尝试过了,但它只适用于桌面而不是 iphone

以上是关于无法使用 JavaScript 在 iPhone 上播放声音,但可以在 Android 上播放的主要内容,如果未能解决你的问题,请参考以下文章

网站应用程序中的Javascript错误导致它无法在iphone上运行

Ipad 和 Iphone:Javascript 图像输入按钮(收音机、复选框)无法正常工作

JavaScript - touchstart 在 iPhone 上不起作用

无法在 iPhone 应用上使用 PhoneGap 和 jQuery 获取 JSON 结果

灯箱无法在 iPhone 上打开

开始为 iPhone 编程 [关闭]