【问题标题】:Can't play wav file from Javascript in Firefox for Mac无法在 Firefox for Mac 中从 Javascript 播放 wav 文件
【发布时间】:2011-01-30 07:56:09
【问题描述】:

当用户将鼠标悬停在“播放”锚标记上时,我有以下 html 文件播放 wav 文件。它可以在 Windows 和 Mac 上的 IE、Chrome、Firefox、Opera、Safari 上完美运行 - Mac 上的 Firefox 除外,它不播放文件。

我们知道文件类型是受支持的,因为如果 embed 标记的 autostart 属性设置为 true,那么 wav 文件在 Firefox for Mac 中会按预期播放,但锚点标记的鼠标悬停无法播放文件。

有什么想法吗?

<html>
<head>
<title></title>
<script>
function PlayAudio() {
    var s = document.getElementById("soundFile");
    s.Play();
}
</script>
</head>
<body>
    <embed src="MySound.wav" enablejavascript="true" type="audio/wav" autostart="false" width="0" height="0" id="soundFile" />
    <a href="#" onmouseover="PlayAudio()">Play</a>     
</body>
</html>

更新

3 周后仍然没有成功。有人可以帮忙吗?

【问题讨论】:

  • wav?你确定这是个好主意吗?这是一个需要下载的沉重文件。考虑将其转换为 mp3。

标签: javascript macos firefox audio embed


【解决方案1】:

可能是因为文件类型不受支持。尝试使用 MP3 格式,它也会更小,这是一个好处(通常约为 WAV 文件大小的十分之一)。

【讨论】:

  • 我们知道该文件类型是受支持的,因为如果自动启动设置为 true,则页面加载时 wav 文件会正确播放。
  • 我也尝试过使用 mp3 文件而不是 wav 文件,但我遇到了完全相同的问题 - 仅适用于除 Mac 上的 Firefox 之外的所有 Bowsers。有人吗?
【解决方案2】:

我通过在想要播放时使用 javascript 创建 embed 并删除它以停止来解决了这个问题。 embed 具有 autostart="true"。

function Play() {
    // Create and append <embed> element.
}

function Stop() {
    // Remove <embed> element.
}

【讨论】:

    猜你喜欢
    • 2014-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    相关资源
    最近更新 更多