<!DOCTYPE html>
<html>
<head>
<title>html5添加音樂</title>
<meta charset="utf-8">
<!--embed標(biāo)簽寫在<head>里面的title標(biāo)簽下-->
<embed src="C:\Users\Administrator\Desktop\告白氣球.mp3" hidden="flase" autostart="true" loop="true">
<!-- 說明:
1、src:文件路徑。
2、hidden="true"表示隱藏音樂播放按鈕,相反使用hidden="false"表示開啟音樂播放按鈕。
3、autostart="true" 表示是打開網(wǎng)頁加載完后自動(dòng)播放。
4、loop="true"表示 循環(huán)播放 如僅想播放一次則為:loop="false" -->
</head>
<body>
<audio autoplay="autoplay" loop="loop" preload="auto" controls="controls"
src="C:\Users\Administrator\Desktop\告白氣球.mp3">
</audio>
<!-- 說明:
1、autoplay="autoplay",則背景音樂將在音網(wǎng)頁打開后就自動(dòng)馬上播放。
2、controls="controls",則為了在頁面內(nèi)顯示顯示控件,如播放按鈕。
3、"loop="loop",則是為了使背景音樂重復(fù)播放。
4、preload="auto",則音頻在頁面加載的同時(shí)進(jìn)行加載,并預(yù)備播放。
5、src="",即是在""內(nèi)加入背景音樂的保存路徑,如:src=""。
注:若是想播放按鈕隱藏,則使用以下語句:
直接使用css 的display控制audio標(biāo)簽的顯示: -->
<style type="text/css">
audio{
display: none;
}
</style>
</body>
</html>
網(wǎng)頁中添加視頻、聲音、動(dòng)畫等,可以增強(qiáng)用戶體驗(yàn)。在HTML5之前,為網(wǎng)頁添加多媒體的唯一辦法,就是使用第三方的插件(如,Adobe Flash等)。
HTML5中,提供了對(duì)多媒體的原生支持,只需通過 video 元素,就可以向網(wǎng)頁嵌入視頻、電影或音頻資源,通過 audio 元素向網(wǎng)頁嵌入音頻資源,省時(shí)省力。
HTML中嵌入視頻和音頻代碼
在HTML5時(shí)代,在網(wǎng)頁中嵌入視頻非常簡(jiǎn)單,只需要一個(gè) video 元素,并設(shè)置它的 src 屬性,使其鏈接一個(gè)視頻地址就可以完全搞定了,這個(gè)太esay了
<video src="media/vedio.mp4"></video>
把這個(gè)網(wǎng)站在IE8中打開一看,網(wǎng)站上除了一片空白外,什么也沒有,這是為什么呢?
原來 video 是HTML5最新引入的元素,并不是所有瀏覽器都支持它,IE8及以下版本都無法識(shí)別 video 標(biāo)簽。如果瀏覽器不識(shí)別 video標(biāo)簽,則會(huì)忽略它,當(dāng)做什么都沒有。這就是網(wǎng)站上一片空白的原因。
這個(gè)問題好解決,只需在 video 標(biāo)簽之間放置文本信息,不支持 video 標(biāo)簽的老瀏覽器,會(huì)顯示 video 標(biāo)簽之間的文本信息,以提示用戶瀏覽器不支持 video,就這么簡(jiǎn)單!
<video src="media/vedio.mp4">
你的瀏覽器已經(jīng)老掉牙了,不支持video,還不趕快使用現(xiàn)代瀏覽器O(∩_∩)O~!
</video>
在IE8上打開一看,確實(shí)顯示了提示文本,這下好多了,至少用戶知道自己的瀏覽器不能播放視頻,該換瀏覽器了。
下載了Opera瀏覽器的最新版本25.0,打開一看,怎么還是一片空白外!Opera瀏覽器明明是支持video標(biāo)簽的,那又是為什么呢?
這個(gè)就得從視頻的編碼格式說起了。video 元素支持三種視頻格式:Ogg、MP4、WebM。
Ogg是帶有Theora視頻編碼和Vorbis音頻編碼的文件,后綴名為 .ogg;MP4是帶有H.264視頻編碼和AAC音頻編碼的MP4文件,后綴名為 .mp4;WebM是VP8視頻編碼和Vorbis音頻編碼的文件,后綴名為 .webm。
這個(gè)Opera瀏覽器呢,它可以支持ogg,但不支持mp4。由于Opera支持video標(biāo)簽,故video標(biāo)簽之間的文本信息沒有顯示出來,但它不支持ogg,所以就不進(jìn)行播放,最終導(dǎo)致頁面出現(xiàn)一片空白。這下可怎么辦呢?
其實(shí)辦法有的是,我們可以從網(wǎng)上下載一副圖像,放到視頻播放窗口,如果視頻無法播放,就顯示這張圖片,是不是更好呢?從網(wǎng)上下載一張美女圖片,干脆叫beauty.jpg吧。那這個(gè)圖像怎么添加到視頻窗口呢?
video標(biāo)簽有個(gè)poster 屬性,就是專門在視頻窗口放置圖片的。poster是一個(gè)video的占位符,無論什么情況下,只要視頻還沒有播放(視頻下載過程中、視頻不存在、不支持該視頻類型、用戶點(diǎn)擊播放按鈕前),就會(huì)顯示該圖像,可以看做是視頻播放之前插入的宣傳畫或海報(bào)。
<video src="media/vedio.mp4" poster = "img/beauty.jpg">
你的瀏覽器已經(jīng)老掉牙了,不支持video,還不趕快使用現(xiàn)代瀏覽器O(∩_∩)O~!
</video>
在Opera瀏覽器上刷新一下,真的有一個(gè)美女沖著自己微笑呢。雖然視頻沒有播放出來,這回心情卻是好多了。
那我可不能一天到晚只看美女呀,視頻還是還是要想辦法播放出來的。既然Opera瀏覽器不支持mp4,我們就換成需要ogg吧,這樣就肯定沒問題了。
我想了想,這個(gè)辦法不好,萬一某個(gè)瀏覽器只支持支持ogg,不支持mp4呢。這年頭,什么都缺,就是不缺點(diǎn)子,隨便在網(wǎng)上一搜,辦法就有了。
在 video 元素中添加 source 元素,就可以解決這個(gè)問題。在source 元素中,通過 src 屬性指定視頻的地址,通過 type 屬性指定視頻的類型,以幫助瀏覽器決定是否能播放該視頻。并且,在 video 元素中可以添加任意多個(gè)source 元素,讓不同的 source 元素鏈接到不同的視頻文件。
這樣的話,當(dāng)瀏覽器發(fā)現(xiàn) video 元素時(shí),首先會(huì)查看它本身是否定義了 src 屬性。如果沒有,就會(huì)檢查 source 元素。瀏覽器會(huì)逐個(gè)查看這些視頻源,直到找到一個(gè)可以播放的視頻。一旦找到,就會(huì)播放它并忽略其他的視頻源。我們干脆添加兩個(gè)source,一個(gè)是mp4,一個(gè)是ogg,這下視頻是一定能播放出來了。
<video poster = "img/beauty.jpg">
<source src="media/vedio.mp4" type="video/mp4">
<source src="media/vedio.ogg" type="video/ogg">
你的瀏覽器已經(jīng)老掉牙了,不支持video,還不趕快使用現(xiàn)代瀏覽器O(∩_∩)O~!
</video>
在Opera瀏覽器上又刷新一下,只有美女沖著我微笑,視頻還是沒播放出來。唉,太粗心了,忘記添加播放視頻的控件了。
在video標(biāo)簽中,通過添加controls 屬性來為視頻添加播放控件,方便用戶執(zhí)行播放、暫停操作和音量控制。
<video poster = "img/beauty.jpg" controls>
(此處略去500字…)
</video>
在Opera瀏覽器上又刷新一下,效果真的不一樣,這次不僅看到美女,還看到了視頻控件。用鼠標(biāo)猛戳一下那個(gè)播放按鈕,哈哈,不錯(cuò),真的聽到美妙的旋律。我們的ogg文件,終于播放出來了,讓我們好好享受一下吧O(∩_∩)O。
聽了一會(huì),忽然一想,不對(duì)呀,我剛才點(diǎn)了播放按鈕后,等了半天才聽到聲音。能不能我一點(diǎn)播放按鈕,就立即播放呢?
原來視頻也是需要下載緩存的,點(diǎn)擊播放按鈕后,首先緩存,然后才播放的。那能不能在頁面加載的同時(shí)就緩存呢。這樣,用戶點(diǎn)擊播放后,就不必等待了。
這當(dāng)然可以,在video標(biāo)簽中,通過添加preload屬性來為視頻添加預(yù)加載功能,在頁面加載的同時(shí)加載視頻。
<video poster = "img/beauty.jpg" controls preload>
(此處略去500字…)
</video>
關(guān)于 preload 屬性,稍微再啰嗦一點(diǎn),就是可以把它設(shè)置為 metadata,讓瀏覽器僅僅預(yù)加載視頻的基本信息,如尺寸、時(shí)長、以及一些關(guān)鍵的幀。這樣的話,在開始播放之前,瀏覽器可以提前計(jì)算視頻的顯示尺寸。
既然一切都OK了!讓我們看看mp4是不是能正常播放。下載最新版的Google Chrome 38.0瀏覽器,打開網(wǎng)頁,猛戳一下播放按鈕。
等等~,等等~,不對(duì),怎么只有聲音沒有畫面,明明是mp4格式的文件呀?使用暴風(fēng)影音試了一下,是有畫面的呀!
辛辛苦苦又在網(wǎng)上搜了一番,花了整整586秒,終于找到了答案。mp4視頻需要h.264編碼格式才會(huì)有圖像的。
找了一個(gè) h.264 編碼格式的 mp4 試了一下,不錯(cuò),確實(shí)有圖像了!看了半天,原來是一部老外的電影,嘰里咕嚕一陣,一句話也沒聽懂。那O(∩_∩)O~,能否提供中文字幕呢,這樣就不必費(fèi)老大勁去聽了!
HTML5中,通過在video元素添加track元素為視頻添加字幕。字幕文件有兩種格式:WebVTT和TTML。WebVTT是Web視頻文本軌跡(Web Video Text Track),是UTF-8編碼格式的文本文件;TTML是時(shí)序文本標(biāo)記語言(Timed Text Markup Language),是XML格式的文件。兩種文件的具體格式,已經(jīng)超出我們的討論范圍。
video元素支持添加多個(gè)track元素,不同的track元素鏈接到不同的字幕文件。用戶可以在各個(gè)字幕間進(jìn)行切換。
<video poster = "img/beauty.jpg" controls preload>
<track src="en_track.vtt" kind="subtitles" srclang="en" label="English" default>
<track src="cn_track.vtt" kind="captions" srclang="zh" label="簡(jiǎn)體中文">
</video>
track元素中,src屬性指定字幕文件的URL;srclang屬性字幕文件的語言類型,若kind 屬性值是 "subtitles" 時(shí),該屬性必需的;label 屬性指定字幕標(biāo)簽,每個(gè)字幕元素必需設(shè)置一個(gè)唯一不重復(fù)的標(biāo)簽,切換字幕時(shí),會(huì)顯示標(biāo)簽的名稱;kind指定字幕內(nèi)容類型,只能是subtitles、captions、descriptions、chapters、metadata 之一;default屬性指定是否是默認(rèn)字幕,如果一個(gè)都沒指定,將不會(huì)自動(dòng)顯示字幕。
除了字幕外,我還希望對(duì)視頻進(jìn)行過多的控制,比如讓視頻自動(dòng)播放、循環(huán)播放、默認(rèn)靜音,以及視頻窗口的尺寸等等,這些都能做到嗎?
這已經(jīng)不是什么事了,video 元素已經(jīng)提供了相關(guān)屬性,根據(jù)需要設(shè)置相應(yīng)的屬性就可以了。這些屬性及含義見表 23:
HTML中嵌入視頻和音頻代碼
哦,原來這么簡(jiǎn)單呀!那就到此為止吧,網(wǎng)頁中嵌入視頻的全部代碼都在這里,就打包給你吧!
<video width="300" poster="img/beauty.jpg" controls preload autoplay loop muted>
<source src="media/vedio.mp4">
<source src="media/vedio.ogg">
<track src="en_track.vtt" kind="subtitles" srclang="en" label="English" default>
<track src="cn_track.vtt" kind="captions" srclang="zh" label="簡(jiǎn)體中文">
你的瀏覽器已經(jīng)老掉牙了,不支持video,還不趕快使用現(xiàn)代瀏覽器O(∩_∩)O~!
</video>
睜大眼睛一看,卻只有7行代碼。然而,就這區(qū)區(qū)7行代碼,可把他折磨得夠嗆。
看著這一切都全部搞定,他仰望著天空,長長呼了一口氣,顯得是那么的放松,那么的愜意。此時(shí),他閉上眼睛,在自己的夢(mèng)幻世界里遨游!
有了在網(wǎng)頁中嵌入視頻的經(jīng)歷,要在網(wǎng)頁中嵌入音頻,那簡(jiǎn)直就是小菜一碟了。只要把vedio元素?fù)Q成 audio 元素,就全部搞定。
但需要了解的是,audio 所支持的音頻格式只有Ogg Vorbis、mp3 和 wav。還要知道,由于音頻沒有畫面,也就沒有 width、height、poster 屬性,而其他屬性都支持,并且跟視頻的含義相同。
網(wǎng)頁中嵌入音頻的代碼如下:
<audio controls preload autoplay loop muted>
<source src="media/audio.mp3">
<source src="media/audio.wav">
<source src="media/audio.ogg">
你的瀏覽器已經(jīng)老掉牙了,不支持audio,還不趕快使用現(xiàn)代瀏覽器O(∩_∩)O~!
</audio>
一、HTML確實(shí)給了我們很多好東西,包括audio標(biāo)簽。
二、我們改改,src屬性就不要了,加個(gè)controls,它是控制的意思,可以顯示音頻控制。
三、點(diǎn)了,可是沒有歌呀,加歌進(jìn)去吧,隨便下載一首歌。
四、你會(huì)發(fā)現(xiàn)播放和暫停可以點(diǎn)擊,還有進(jìn)度條的拖動(dòng),都是可以用的,可如果你不喜歡那個(gè)按鈕,又怎么自己做按鈕來控制呢。
五、改成兩個(gè)圓形按鈕。
六、補(bǔ)點(diǎn)東西吧,audio標(biāo)簽也應(yīng)該有個(gè)id,然后再加兩個(gè)按鈕的點(diǎn)擊事件。
七、完成最后一步,讓按鈕可以控制audio。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。