Javascript 在移动设备上的回调中未播放音频对象

Javascript 在移动设备上的回调中未播放音频对象,javascript,android,callback,html5-audio,mobile-devices,Javascript,Android,Callback,Html5 Audio,Mobile Devices,在我看来,在移动设备上运行时,音频对象不能在JavaScript回调中轻松播放。下面的代码显示了一个onload函数,它在PC上加载网页时播放声音,但在Android手机上什么也不播放 我不知情的猜测是,回调在音频对象开始播放之前返回,因此,出于某种深层次的原因,回调会消失 有什么办法解决这个问题吗?在完整版本中,JavaScript将从URL读取要播放的声音 按钮在所有设备上正确播放声音,我想这是一个回调。。。?onload回调有什么特别的地方吗?Argh,这完全是因为在移动设备上,目前H

在我看来,在移动设备上运行时,音频对象不能在JavaScript回调中轻松播放。下面的代码显示了一个onload函数,它在PC上加载网页时播放声音,但在Android手机上什么也不播放

我不知情的猜测是,回调在音频对象开始播放之前返回,因此,出于某种深层次的原因,回调会消失

有什么办法解决这个问题吗?在完整版本中,JavaScript将从URL读取要播放的声音


按钮在所有设备上正确播放声音,我想这是一个回调。。。?onload回调有什么特别的地方吗?

Argh,这完全是因为在移动设备上,目前HTML5不允许播放声音,除非用户做了一些输入,大概是说我允许你播放声音。最新的Firefox浏览器V34似乎已经解除了限制,一切正常

Chrome中也有一个修复程序,您需要在地址栏中转到about:flags并找到所需的手势选项,将其禁用

经过这一切,我两天前写的程序现在可以运行了

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>Play Me</title>
    <style>
        body {background-color:lightgrey}
        h1   {color:blue}
        p    {color:green;font-size:50px}
    </style>
</head>
<body onload="playMySound()">
<P>
PLAY ME
<button onclick="playMySound()">sound me</button>
</P>

<br>
<script>
    var mySound ;

    function playMySound () {
        var soundUrl = "http://www.letiketa.com/myapp/sound.ashx?sound=sound1" ;
        var mySound = new Audio(soundUrl);
        // Actually play the sound
        mySound.play() ;
    }

</script>