【问题标题】:play background music on page load on Safari在 Safari 上加载页面时播放背景音乐
【发布时间】:2016-11-25 16:22:08
【问题描述】:

我想在页面加载时播放背景音乐。

我的代码在除 Safari 之外的所有浏览器上都能正常运行。

Safari 节目。

Undefined is not constructor(evaluating new audio())

如何在 Safari 上修复此错误?

var audio, playbtn, mutebtn, seek_bar;
function initAudioPlayer(){
    audio = new Audio();
    audio.src = "html/audio/di-evantile_behind-your-dream.mp3";
    audio.loop = true;
    audio.play();
    // Set object references
    playbtn = document.getElementById("playpausebtn");
    mutebtn = document.getElementById("mutebtn");
    // Add Event Handling
    playbtn.addEventListener("click",playPause);
    mutebtn.addEventListener("click", mute);

    // Functions
    function playPause(){
        if(audio.paused){
            audio.play();
            playbtn.style.background = "url(html/images/pause.png) no-repeat";
        } else {
            audio.pause();
            playbtn.style.background = "url(html/images/play.png) no-repeat";
        }
    }

    function mute(){
        if(audio.muted){
            audio.muted = false;
            mutebtn.style.background = "url(html/images/speaker.png) no-repeat";
        } else {
            audio.muted = true;
            mutebtn.style.background = "url(html/images/speaker_muted.png) no-repeat";
        }
    }
}

//play music on page load
window.addEventListener("load", initAudioPlayer);

【问题讨论】:

  • 什么版本的 Safari?
  • safari 5.1.7 windows 10 版本
  • 根据 this page 网络音频 API 在版本 6 之前的 safari 中不可用 - 但是自 3.1 版以来 safari 已支持 <audio> 标签 - 也许您需要重新考虑如何添加Audio 构造函数不存在时的音频
  • 有什么建议吗??只想播放背景音乐的暂停按钮

标签: javascript web safari cross-browser mozilla


【解决方案1】:

您的 JavaScript 中似乎有一个奇怪的注释。我必须删除“## Heading ##”才能让您的脚本在我的机器上运行。

关于 Safari:

Windows 版 Safari 早在 2012 年是 discontinued。如果各种 HTML5 好东西在 Windows 版本中不起作用,我不会感到惊讶。

它在带有 Safari 9.1.1 (11601.6.17) 的 Mac OSX 系统上为我工作。

我也尝试过按照您的描述使用适用于 Windows 的 Safari,我可以确认它不起作用,因为不支持 Audio 对象。

【讨论】:

  • 这个脚本在你的机器上运行吗?
  • 是的,但我确实必须从您的代码中删除“## HEADING ##”。 (我看到您从那时起就对其进行了编辑。)
  • 非常感谢..!请检查背景音乐是​​否在点击时停止
  • 请注意,它在我的带有 Safari 的 Mac OSX 机器上运行,而不是在我的 Windows 机器上运行。 Windows 版 Safari 不支持 Audio 对象,而且可能永远不会。如果我使用 Google Chrome 而不是 Safari for Windows,它确实可以在我的 Windows 系统上运行。
猜你喜欢
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 2011-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-06
相关资源
最近更新 更多