音在HTML中可以以不同的方式播放.
問題以及解決方法
在 HTML 中播放音頻并不容易!
您需要諳熟大量技巧,以確保您的音頻文件在所有瀏覽器中(Internet Explorer, Chrome, Firefox, Safari, Opera)和所有硬件上(PC, Mac , iPad, iPhone)都能夠播放。
在這W3CSchool 為您總結了問題和解決方法。
使用插件
瀏覽器插件是一種擴展瀏覽器標準功能的小型計算機程序。
插件可以使用 <object> 標簽 或者 <embed> 標簽添加在頁面上.
這些標簽定義資源(通常非 HTML 資源)的容器,根據類型,它們即會由瀏覽器顯示,也會由外部插件顯示。
使用 <embed> 元素
<embed>標簽定義外部(非 HTML)內容的容器。(這是一個 HTML5 標簽,在 HTML4 中是非法的,但是所有瀏覽器中都有效)。
下面的代碼片段能夠顯示嵌入網頁中的 MP3 文件:
實例
<embed height="50" width="100" src="horse.mp3">
問題:
<embed> 標簽在 HTML 4 中是無效的。頁面無法通過 HTML 4 驗證。
不同的瀏覽器對音頻格式的支持也不同。
如果瀏覽器不支持該文件格式,沒有插件的話就無法播放該音頻。
如果用戶的計算機未安裝插件,無法播放音頻。
如果把該文件轉換為其他格式,仍然無法在所有瀏覽器中播放。
使用 <object> 元素
<object tag> 標簽也可以定義外部(非 HTML)內容的容器。
下面的代碼片段能夠顯示嵌入網頁中的 MP3 文件:
實例
<object height="50" width="100" data="horse.mp3"></object>
問題:
不同的瀏覽器對音頻格式的支持也不同。
如果瀏覽器不支持該文件格式,沒有插件的話就無法播放該音頻。
如果用戶的計算機未安裝插件,無法播放音頻。
如果把該文件轉換為其他格式,仍然無法在所有瀏覽器中播放。
使用 HTML5 <audio> 元素
HTML5 <audio> 元素是一個 HTML5 元素,在 HTML 4 中是非法的,但在所有瀏覽器中都有效。
The <audio> element works in all modern browsers.
以下我們將使用 <audio> 標簽來描述 MP3 文件(Internet Explorer、Chrome 以及 Safari 中是有效的), 同樣添加了一個 OGG 類型文件(Firefox 和 Opera瀏覽器中有效).如果失敗,它會顯示一個錯誤文本信息:
實例
<audio controls>
<source src="horse.mp3" type="audio/mpeg">
<source src="horse.ogg" type="audio/ogg">
Your browser does not support this audio format.
</audio>
問題:
<audio> 標簽在 HTML 4 中是無效的。您的頁面無法通過 HTML 4 驗證。
您必須把音頻文件轉換為不同的格式。
<audio> 元素在老式瀏覽器中不起作用。
最好的 HTML 解決方法
下面的例子使用了兩個不同的音頻格式。HTML5 <audio> 元素會嘗試以 mp3 或 ogg 來播放音頻。如果失敗,代碼將回退嘗試 <embed> 元素。
實例
<audio controls height="100" width="100">
<source src="horse.mp3" type="audio/mpeg">
<source src="horse.ogg" type="audio/ogg">
<embed height="50" width="100" src="horse.mp3">
</audio>
問題:
您必須把音頻轉換為不同的格式。
<embed> 元素無法回退來顯示錯誤消息。
雅虎媒體播放器 - 一個簡單的添加音頻到你網站上的方式
使用雅虎播放器是免費的。如需使用它,您需要把這段 JavaScript 插入網頁底部:
雅虎播放器可以播放MP3以及其他各種格式。你只需添加一行代碼到你的頁面或 博客中就可以輕松地將您的HTML頁面制作成 專業的播放列表:
實例
<a href="horse.mp3">Play Sound</a>
<script src="http://mediaplayer.yahoo.com/latest"></script>
如果你要使用它,您需要把這段 JavaScript 插入網頁底部:
<script src="http://mediaplayer.yahoo.com/latest"></script>
然后只需簡單地把 MP3 文件鏈接到您的 HTML 中,JavaScript 會自動地為每首歌創建播放按鈕:
<a href="song1.mp3">Play Song 1</a>
<a href="song2.wav">Play Song 2</a>
...
...
雅虎媒體播放器為您的用戶提供的是一個小型的播放按鈕,而不是完整的播放器。不過,當您點擊該按鈕,會彈出完整的播放器。
請注意,這個播放器始終停靠在窗框底部。只需點擊它,就可將其滑出。
使用超鏈接
如果網頁包含指向媒體文件的超鏈接,大多數瀏覽器會使用"輔助應用程序"來播放文件。
以下代碼片段顯示指向 mp3 文件的鏈接。如果用戶點擊該鏈接,瀏覽器會啟動"輔助應用程序"來播放該文件:
實例
<a href="horse.mp3">Play the sound</a>
內聯的聲音說明
當您在網頁中包含聲音,或者作為網頁的組成部分時,它被稱為內聯聲音。
如果您打算在 web 應用程序中使用內聯聲音,您需要意識到很多人都覺得內聯聲音令人惱火。同時請注意,用戶可能已經關閉了瀏覽器中的內聯聲音選項。
我們最好的建議是只在用戶希望聽到內聯聲音的地方包含它們。一個正面的例子是,在用戶需要聽到錄音并點擊某個鏈接時,會打開頁面然后播放錄音。
HTML 多媒體標簽
New : HTML5 新標簽
標簽 | 描述 |
---|---|
<embed> | 定義內嵌對象。HTML4 中不贊成,HTML5 中允許。 |
<object> | 定義內嵌對象。 |
<param> | 定義對象的參數。 |
<audio>New | 定義了聲音內容 |
<video>New | 定義一個視頻或者影片 |
<source>New | 定義了media元素的多媒體資源(<video> 和 <audio>) |
<track>New | 規定media元素的字幕文件或其他包含文本的文件 (<video> 和<audio>) |
如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!
切圖網一個客戶項目中,用到了背景音樂,采用了html5 audio標簽, 并且設置了 autoplay 自動播放,在PC上正常,但是一到手機下就無法自動播放。
即便使用JS ,調用audio 對象的播放方法 play() 也不能自動播放! 這是為什么呢?
于是打破砂鍋問到底的決心,做了好多種demo,例子
http://m.slicy.cn/bg-music.html
測試,蘋果、安卓還是不行,最后發現真相的我,眼淚掉下來 。 原因在這:
為了防止不必要的自動播放浪費流量,手機網頁訪問帶有audio的頁面是不會自動播放的。
Safari屏蔽了autoplay,必須由用戶交互事件觸發,因為autoplay在移動網絡環境下可能會造成用戶流量費劇增
下面是引自Safari Reference
In Safari on iPhone OS (for all devices, including iPad), where theuser may be on a cellular network and be charged per data unit,
autobuffering and autoplay are disabled. No data is loaded until the
user initiates it. This means the JavaScript play() and load() methods
are also inactive until the user initiates playback, unless the play()
method is triggered by user action.
家好,今天給大家介紹一款,調用酷狗搜索音樂播放API實例html頁面源碼(圖1),實現搜索和音樂播放。送給大家哦,獲取方式在本文末尾,需要的朋友可以下載學習
圖1
搜索結構顯示后,點擊播放按鈕即可播放,同時會顯示歌詞,歌詞可以關閉,同時可以控制播放模式(圖2)
圖2
本模板編碼:10107,需要的朋友,點擊下面的鏈接后,搜索10107,即可獲取。
就愛UI - 分享UI設計的點點滴滴
*請認真填寫需求信息,我們會在24小時內與您取得聯系。