我一直在浏览一下如何在iOS上实现音频播放的简单示例,但我似乎无法找到一个。我了解Apple因数据使用问题而禁用了自动播放功能 - 但我尝试做的是在用户点击图片时播放音频 - 我绝不是javascript的高手,我可以&找到一个简单的例子来应用我的代码,所以我希望有人可以证明你是如何做到这一点的。
我在下面输入了我的代码的简化版本。我已经使用javascript函数来确定在单击图像时是否需要提供ogg文件或mp3文件。我还使用了一个JQuery插件,可以在单击时放大图像,另一个用于控制页面上几个标题的字体大小,第三个用于chromeframe。我脑子里有两个单独的脚本标签,因为我无法弄清楚如何让它们全部在一个标签中工作。我知道这很草率,而且我打算清理它,但在此之前,我想弄清楚音频问题。
无论如何,我想是因为我已经设置了音频设置来播放它在iOS中可以使用的图像,但它不是,我不知道应该如何调整代码。如果有人有时间提供一个简单的例子作为如何做到的起点,我真的很感激。
<!DOCTYPE html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="jquery/jquery.zoomooz.min.js"></script>
<script src="jquery/jquery.fittext.js.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
<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("Unfortunately your browser doesn't support HTML5 audio")}}
}
}
//Initialize two sound clips with 1 fallback file each:
var mouseoversound=createsoundbite("example1.ogg", "example1.mp3")
var clicksound=createsoundbite("example2.ogg", "example2.mp3")
<script type="text/javascript">
$(document).ready(function(){
if($(window).width()>0){
$("li.fittext").fitText(1.68);
$("#footerwrap p").fitText(5);
};
});
$(".zoomTarget").click(function(evt) {
evt.stopPropagation();
evt.preventDefault();
$(this).zoomTo({debug:true});
$(this).zoomTo({easing:'ease-in'});
});
$(window).click(function(evt) {
evt.stopPropagation();
$("body").zoomTo({targetsize:1.0});
});
// for iPhone
$("#container").click(function(evt) {
evt.stopPropagation();
$("body").zoomTo({targetsize:1.0});
});
$("body").zoomTo({targetsize:1.0});
$(window).load(function() {
CFInstall.check({
mode: "overlay",
destination: "http://www.waikiki.com"
});
});
</script>
</head>
<body>
<div id="wrapper">
<img onclick="clicksound.playclip()" class="zoomTarget" data-targetsize="1.0" data-duration="10000" easing="linear" src="images/image.jpg"/>
</div><!--wrapper-->
</body>