2013-04-04 102 views
2

我在任何地方都搜索過我的問題,發現了一些答案,但在實施時似乎沒有奏效。音頻元素在Safari 5.1中不工作

這裏是我的簡單的代碼:

<!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> 

有兩種方法,我生成音頻聲音,頁面加載和當在用戶點擊按鈕之後。

一切都在FF和Chrome,但不是在Safari(我有版本5.1.7)

林不知道如果我做錯了什麼或什麼工作正常。

任何幫助將不勝感激。

謝謝。

+0

你知道safari是否支持ogg,我不這麼認爲。 – Musa 2013-04-04 07:14:44

+0

你好,謝謝你的回覆。我已經嘗試過格式,m4a,wav,但它仍然不起作用。 – Eralph 2013-04-04 07:31:33

+0

您是否安裝了quicktime? – Musa 2013-04-04 07:32:13

回答

0

您應該使用html5文檔類型來使頁面解釋爲HTML5文檔。

<!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> 
+0

嗨,我已經嘗試了您的建議,但沒有任何更改。它仍然適用於FF和Chrome,但不適用於Safari。謝謝。 – Eralph 2013-04-04 07:22:14

+0

檢查我更新的代碼,它應該工作。你不調用play_audio();功能正常。 – defau1t 2013-04-04 07:30:23

+0

我試圖用你創建的代碼替換我的代碼,但它仍然不起作用。 – Eralph 2013-04-04 07:34:18

0

我終於得到它的工作...

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

希望這將幫助任何人。

+0

它是如何工作的,我不能使它在我的Safari瀏覽器上工作。 Windows 7 x64。 – 2014-01-29 15:39:04

+0

請查看上面的代碼以瞭解如何實現它的詳細信息。 – Eralph 2014-02-23 12:32:45

+0

是在safari 5.1(windows 7)或(mac書) – 2014-02-23 13:43:33

0

這個工作對我的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(); 
     } 
    }); 

這是額外的信息,以防萬一有人需要它:

的Firefox 3.5+ >>支架.OGG,.wav格式

IE9 + >>支持MP3播放

鉻6+ >>支架.OGG,.MP3,.MP4

Safari 5以上>>支持MP3播放,.MP4,.wav格式

歌劇10.5+ >>支持.OGG,.wav格式

確保添加您的聲音路徑正確(我正在使用drupal api)