javascript - javascript鼠标悬停音频无法在Safari中播放

标签 javascript audio safari mouseover

我无法将鼠标悬停的音频在Safari中播放。它适用于Chrome,|| Opera,Camino,Firefox和IE。我在HTML中使用它:

<a onmouseover="mouseoversound.playclip()" onclick="clicksound.playclip()" href="#">link/a>

在页面页脚中使用此javascript:
<script>

// Mouseover/ Click sound effect- by JavaScript Kit (www.javascriptkit.com)
// Visit JavaScript Kit at http://www.javascriptkit.com/ for full source code

//** Usage: Instantiate script by calling: var uniquevar=createsoundbite("soundfile1",                 "fallbackfile2", "fallebacksound3", etc)
//** Call: uniquevar.playclip() to play sound

var html5_audiotypes={ //define list of audio file extensions and their associated audio types. Add to it if your specified audio file isn't on this list:
"mp3": "audio/mpeg",
"mp4": "audio/mp4",
"ogg": "audio/ogg",
"wav": "audio/wav"
}

function createsoundbite(sound){
var html5audio=document.createElement('audio')
if (html5audio.canPlayType){ //check support for HTML5 audio
    for (var i=0; i<arguments.length; i++){
        var sourceel=document.createElement('source')
        sourceel.setAttribute('src', arguments[i])
        if (arguments[i].match(/.(w+)$/i))
            sourceel.setAttribute('type', html5_audiotypes[RegExp.$1])
        html5audio.appendChild(sourceel)
    }
    html5audio.load()
    html5audio.playclip=function(){
        html5audio.pause()
        html5audio.currentTime=0
        html5audio.play()
    }
    return html5audio
}
else{
    return {playclip:function(){throw new Error("Your browser doesn't support HTML5 audio unfortunately")}}
}
}

//Initialize two sound clips with 1 fallback file each:

var mouseoversound=createsoundbite("http://graphicviolence.co.uk/sounds/typewriter.ogg", "http://graphicviolence.co.uk/sounds/typewriter.mp3")
var clicksound=createsoundbite("http://graphicviolence.co.uk/sounds/bell.ogg", "http://graphicviolence.co.uk/sounds/bell.mp3")

</script>

有人知道Safari为什么不执行此操作吗?请访问我的网站:http://graphicviolence.co.uk

谢谢
蒂姆,伦敦

最佳答案

我在我的项目上使用了完全相同的脚本,无论是Chrome还是Safari,它都能完美运行。但是,当谈到iPhone和iPad Safari时,它也搞砸了。我已经测试过您的了,真的不起作用。
也许您可能想检查一下脚本插件

关于javascript - javascript鼠标悬停音频无法在Safari中播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11670282/

相关文章:

javascript - 列出响应式类次

javascript - 如何防止 Visual Studio Code 在格式化代码时打断长行?

javascript - 将查询字符串添加到 url

python - 使用 pyaudio 录制 24 位音频

来自服务器的音频的 iOS Safari 问题

css 样式标签未在 safari 中评估

ruby-on-rails - Rails select_tag "required"选项在 Safari 中不起作用

javascript - 将 d3 与自定义 Angular Directive(指令)集成

javascript - Javascript:点击图片时播放音频

javascript - Datatables iOS,Safari 根本不显示