1

iOSでonclickでオーディオ再生を実現する方法の簡単な例を探し回っていますが、見つけられないようです。Apple がデータの使用を考慮して自動再生を無効にしていることは理解していますが、私がしようとしているのは、ユーザーが画像をクリックしたときに音声を再生することです。私は決して JavaScript の達人ではなく、私のコードに適用する簡単な例なので、誰かがこれを行う方法を示してくれることを願っています.

以下にコードの簡略版を入力しました。画像がクリックされたときにoggファイルまたはmp3ファイルを提供する必要があるかどうかを判断するために、すでにjavascript関数を使用しています。また、クリックすると画像が拡大される JQuery プラグインも使用しています。もう 1 つは、ページ上のいくつかの見出しのフォント サイズの一部を制御し、もう 1 つは chromeframe 用です。1 つのタグでそれらすべてを機能させる方法がわからなかったので、頭の中に 2 つの別々のスクリプト タグがあります。これがずさんであることはわかっており、クリーンアップする予定ですが、その前にオーディオの問題を把握したいと思います。

とにかく、画像のクリックで再生するようにオーディオを設定していたので、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>                         
4

0 に答える 0