2

私は自分の問題をどこでも検索し、いくつかの答えを見つけましたが、実装したときにうまくいかなかったようです。

これが私の簡単なコードです:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Audio Test</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">

  $(document).ready(function(){
    play_audio();
  });

  $(document).on("click", "#play-btn", function(){
    play_audio();
  });

  function play_audio(){
    var notify = document.getElementById("sound-notification");
    notify.play();
  }

</script>

</head>

<body>

<audio id="sound-notification" src="beep.ogg"></audio>

<button id="play-btn">Play</button>

hello world

</body>
</html>

ページが読み込まれた直後と、ユーザーがボタンをクリックしたときに、オーディオ サウンドを生成する方法は 2 つあります。

FF と Chrome ではすべて正常に動作しますが、Safari では動作しません (バージョン 5.1.7 を使用しています)。

私が何か間違ったことをしたのか、それとも何をしたのかわかりません。

どんな助けでも大歓迎です。

ありがとう。

4

3 に答える 3

0

ページがこれを HTML5 ドキュメントとして解釈するようにするには、html5 doctype を使用する必要があります。

<!doctype html>

あなたが使用したものではありません。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

更新されたコード

<script type="text/javascript">

$(function() {
$(document).on("click", "#play-btn", function(){
    play_audio();
  });

  function play_audio(){
    var notify = document.getElementById("sound-notification");
    notify.play();
  }

});

</script>
于 2013-04-04T07:15:59.097 に答える
0

やっと動くようになった…

<audio id="sound-notification">
  <source scr="beep.ogg" type="audio/ogg"></source>
  <source src="beep.mp3" type="audio/mpeg"></source>
</audio>

これが誰にも役立つことを願っています。

于 2013-04-17T01:03:10.590 に答える
0

This worked for me adding click sound on elements in all browsers on Drupal:

    var snd = new Audio(Drupal.settings["basePath"] + "sites/all/themes/your_theme/click.ogg");
    var sndSafari = new Audio(Drupal.settings["basePath"] + "sites/all/themes/your_theme/click.mp3");

    var is_safari = navigator.userAgent.indexOf("Safari") > -1;

    jQuery('body a').click(function(){
         if(is_safari){
            sndSafari.play();
         }else{
            snd.play();
         }
    }); 

This is extra info just in case somebody needs it:

Firefox 3.5+ >> Supports .ogg, .wav

IE9+ >> Supports .mp3

Chrome 6+ >> Supports .ogg, .mp3, .mp4

Safari 5+ >> Supports .mp3, .mp4, .wav

Opera 10.5+ >> Supports .ogg, .wav

Make sure to add your sound path correctly (i was using drupal api)

于 2013-05-06T15:40:24.987 に答える