【问题标题】:Embedding audio in IE(7+) with javascript capability to mute and unmute在 IE(7+) 中嵌入音频,具有 javascript 功能以静音和取消静音
【发布时间】:2011-11-27 23:46:52
【问题描述】:

我一直在寻找一种将音频嵌入网站的方法,能够循环和自动播放,还能够使用 javascript 将音频静音和取消静音。我知道这在 html5 中是可能的并且非常容易,但我听说 IE 还不支持 html5(或者可能是音频标签)。

我还需要我的嵌入式音频可以追溯到 IE7。所以我认为使用标签将适用于除 IE 之外的所有其他浏览器,而我希望类似的东西适用于 IE;不幸的是,它不支持从 javascript 调用静音和取消静音 - 这是因为我不希望音频播放器的任何控件可见;只是一个自定义声音按钮,用户可以单击该按钮来静音和取消静音。有任何想法吗?似乎这样的事情是最简单的事情,但最难编码的事情:/

【问题讨论】:

    标签: javascript html internet-explorer audio embed


    【解决方案1】:

    考虑使用默认使用 HTML 5 的播放器,但如果不支持 Flash 则可以使用。

    JPlayer 可以做到这一点,并且有一个mute function.

    【讨论】:

    • 感谢 Pekka,我已经实现了 JPlayer,并且静音取消静音功能有效。但是,当我尝试通过从我的 javascript 调用 play 函数来实现自动播放时(当文档准备好时),它不会触发。另一方面,将此函数调用放在单击处理程序中(例如),它将正确触发。知道为什么它会在处理程序中触发,但不会在处理文档就绪调用时触发(它本身就是一个处理程序,不是吗?)
    • @user IIRC,jPlayer 有自己的 ready 事件——我想是这个:jplayer.org/latest/developer-guide/#jPlayer-option-ready
    • 是的,谢谢,工作。在 ready 函数中添加播放和循环函数确实可以正确设置播放器。感谢您的帮助!
    【解决方案2】:

    HTML5 是您的最佳选择。

    <audio>
        <source src="horse.ogg" type="audio/ogg" />
        <source src="horse.mp3" type="audio/mp3" />
        <!--
            You can put a flash player here in case the users browser doesn't support HTML5 or any of the audio formats you have added.
        -->
    </audio>
    

    您可能希望在音频标签中指定的属性是controls='controls',以启用播放选项,如播放暂停和音量控制,包括静音; loop='loop' 启用自动循环; autoplay='autoplay' 显然是自动播放;和preload='auto' 在页面加载时加载音频(您也可以指定“元数据”或“无”)

    您的播放器可能看起来像:

    <audio preload='auto' autoplay='autoplay' controls='controls' loop='loop'>
        <source src="yoursound.ogg" type="audio/ogg" />
        <source src="yoursound.mp3" type="audio/mp3" />
        <!--
            Flash player here to fall back on if the users browser doesn't support HTML5
        -->
    </audio>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-15
      • 1970-01-01
      • 2020-08-31
      • 1970-01-01
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多