音在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,我們一起飛!
于前端開發人員來說,css是我們再熟悉不過的朋友的,它就相當于是我們頁面的衣服,頁面好不好看,就看我們css運用的是否爐火純青[小鼓掌][小鼓掌][小鼓掌]。css學起來簡單,但是我們要把它“修煉”到出神入化境界,那這可不是一丁點時間就可以的,需要我們的日積月累,時刻專研。
而今天,就帶給大家一個CSS特效-霓虹燈按鈕,這也是我看到很不錯的效果,帶來分享給大家,希望大家喜歡[送心][送心][送心]
效果如下:
最終效果
那好,廢話不多說,開始我們的CSS代碼。
// 這里我們用div標簽來模擬button按鈕,標簽可以隨意,a、p、span等都可以
// 通常在開發中使用別的標簽來代替button標簽,是因為原始的標簽樣式不好看,
// 我們還得重置樣式,而其他標簽不帶有樣式,我們可以更好的控制自己想要的樣式,
// 當然,button標簽也是可以的,但是如前面所說,原始的樣式需要我們重置。
<div class="btn">button</div>
body {
margin: 0;
padding: 0;
background: #000; // 黑色背景,只為更能突出樣式效果
}
// 初始化按鈕樣式
.btn {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 200px;
height: 60px;
text-align: center;
line-height: 60px;
color: #fff;
font-size: 24px;
font-family: sans-serif;
text-decoration: none;
text-transform: uppercase;
box-sizing: border-box;
// linear-gradient() 漸變屬性,函數用于創建一個表示兩種或多種顏色線性漸變的圖片
background: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
background-size: 400%;
border-radius: 30px;
}
初始樣式為這樣:
初始樣式
然后我們給按鈕加上動畫,代碼如下:
.btn:hover {
// linear: 動畫從開始到結束具有相同的速度。
// infinite: 無限次播放
animation: animate 8s linear infinite;
}
@keyframes animate {
0% {
background-position: 0%;
}
100% {
background-position: 400%;
}
}
效果就變為下面這樣:
最后我們給它加上鼠標移上去的效果,代碼如下:
.btn::before {
content: '';
position: absolute;
top: -5px;
left: -5px;
right: -5px;
bottom: -5px;
z-index: -1;
background: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
background-size: 400%;
border-radius: 40px;
opacity: 0;
transition: .5s;
}
.btn:hover::before {
filter: blur(20px);
opacity: 1;
animation: animate 8s linear infinite;
}
現在這樣,就是我們的最終效果了:
就此,我們的霓虹燈的按鈕效果就完成了
不足百行,我們就完成了這個效果,以下是我們的CSS的全部代碼:
下來我們開始制作播放按鈕:
默認圖標的顏色是黑色,而且字體很小,我們需要對這個圖標進行css樣式美化和絕對定位。
接下來,我們給這個播放按鈕添加一個點擊事件,點擊之后就播放一首歌曲。
然后,在body區域隨便添加一個audio標簽,用于播放音樂。
在項目根目錄新建一個mp3文件夾,專門用來存放歌曲:
現在編寫playMusic方法,去播放01.MP3。
接下來做一個音樂播放時候的旋轉效果,用css3中的keyframes來做。
當點擊播放按鈕的時候,就給當前對象(i標簽)添加一個旋轉的class。
完成!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。