在iOS 5.1.1+中点击播放音频

时间:2012-05-22 17:27:05

标签: ios html5 mobile mobile-safari html5-audio

我一直在浏览一下如何在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>                         

0 个答案:

没有答案