音在HTML中可以以不同的方式播放.
問題以及解決方法
在 HTML 中播放音頻并不容易!
您需要諳熟大量技巧,以確保您的音頻文件在所有瀏覽器中(Internet Explorer, Chrome, Firefox, Safari, Opera)和所有硬件上(PC, Mac , iPad, iPhone)都能夠播放。
在這W3CSchool 為您總結(jié)了問題和解決方法。
使用插件
瀏覽器插件是一種擴展瀏覽器標準功能的小型計算機程序。
插件可以使用 <object> 標簽 或者 <embed> 標簽添加在頁面上.
這些標簽定義資源(通常非 HTML 資源)的容器,根據(jù)類型,它們即會由瀏覽器顯示,也會由外部插件顯示。
使用 <embed> 元素
<embed>標簽定義外部(非 HTML)內(nèi)容的容器。(這是一個 HTML5 標簽,在 HTML4 中是非法的,但是所有瀏覽器中都有效)。
下面的代碼片段能夠顯示嵌入網(wǎng)頁中的 MP3 文件:
實例
<embed height="50" width="100" src="horse.mp3">
問題:
<embed> 標簽在 HTML 4 中是無效的。頁面無法通過 HTML 4 驗證。
不同的瀏覽器對音頻格式的支持也不同。
如果瀏覽器不支持該文件格式,沒有插件的話就無法播放該音頻。
如果用戶的計算機未安裝插件,無法播放音頻。
如果把該文件轉(zhuǎn)換為其他格式,仍然無法在所有瀏覽器中播放。
使用 <object> 元素
<object tag> 標簽也可以定義外部(非 HTML)內(nèi)容的容器。
下面的代碼片段能夠顯示嵌入網(wǎng)頁中的 MP3 文件:
實例
<object height="50" width="100" data="horse.mp3"></object>
問題:
不同的瀏覽器對音頻格式的支持也不同。
如果瀏覽器不支持該文件格式,沒有插件的話就無法播放該音頻。
如果用戶的計算機未安裝插件,無法播放音頻。
如果把該文件轉(zhuǎn)換為其他格式,仍然無法在所有瀏覽器中播放。
使用 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 驗證。
您必須把音頻文件轉(zhuǎn)換為不同的格式。
<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>
問題:
您必須把音頻轉(zhuǎn)換為不同的格式。
<embed> 元素無法回退來顯示錯誤消息。
雅虎媒體播放器 - 一個簡單的添加音頻到你網(wǎng)站上的方式
使用雅虎播放器是免費的。如需使用它,您需要把這段 JavaScript 插入網(wǎng)頁底部:
雅虎播放器可以播放MP3以及其他各種格式。你只需添加一行代碼到你的頁面或 博客中就可以輕松地將您的HTML頁面制作成 專業(yè)的播放列表:
實例
<a href="horse.mp3">Play Sound</a>
<script src="http://mediaplayer.yahoo.com/latest"></script>
如果你要使用它,您需要把這段 JavaScript 插入網(wǎng)頁底部:
<script src="http://mediaplayer.yahoo.com/latest"></script>
然后只需簡單地把 MP3 文件鏈接到您的 HTML 中,JavaScript 會自動地為每首歌創(chuàng)建播放按鈕:
<a href="song1.mp3">Play Song 1</a>
<a href="song2.wav">Play Song 2</a>
...
...
雅虎媒體播放器為您的用戶提供的是一個小型的播放按鈕,而不是完整的播放器。不過,當您點擊該按鈕,會彈出完整的播放器。
請注意,這個播放器始終停靠在窗框底部。只需點擊它,就可將其滑出。
使用超鏈接
如果網(wǎng)頁包含指向媒體文件的超鏈接,大多數(shù)瀏覽器會使用"輔助應(yīng)用程序"來播放文件。
以下代碼片段顯示指向 mp3 文件的鏈接。如果用戶點擊該鏈接,瀏覽器會啟動"輔助應(yīng)用程序"來播放該文件:
實例
<a href="horse.mp3">Play the sound</a>
內(nèi)聯(lián)的聲音說明
當您在網(wǎng)頁中包含聲音,或者作為網(wǎng)頁的組成部分時,它被稱為內(nèi)聯(lián)聲音。
如果您打算在 web 應(yīng)用程序中使用內(nèi)聯(lián)聲音,您需要意識到很多人都覺得內(nèi)聯(lián)聲音令人惱火。同時請注意,用戶可能已經(jīng)關(guān)閉了瀏覽器中的內(nèi)聯(lián)聲音選項。
我們最好的建議是只在用戶希望聽到內(nèi)聯(lián)聲音的地方包含它們。一個正面的例子是,在用戶需要聽到錄音并點擊某個鏈接時,會打開頁面然后播放錄音。
HTML 多媒體標簽
New : HTML5 新標簽
標簽 | 描述 |
---|---|
<embed> | 定義內(nèi)嵌對象。HTML4 中不贊成,HTML5 中允許。 |
<object> | 定義內(nèi)嵌對象。 |
<param> | 定義對象的參數(shù)。 |
<audio>New | 定義了聲音內(nèi)容 |
<video>New | 定義一個視頻或者影片 |
<source>New | 定義了media元素的多媒體資源(<video> 和 <audio>) |
<track>New | 規(guī)定media元素的字幕文件或其他包含文本的文件 (<video> 和<audio>) |
如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!
TML 音頻/視頻 DOM 參考手冊
HTML5 DOM 為 <audio> 和 <video> 元素提供了方法、屬性和事件。
這些方法、屬性和事件允許您使用 JavaScript 來操作 <audio> 和 <video> 元素。
HTML 音頻/視頻 方法
方法 | 描述 |
---|---|
addTextTrack() | 向音頻/視頻添加新的文本軌道。 |
canPlayType() | 檢測瀏覽器是否能播放指定的音頻/視頻類型。 |
load() | 重新加載音頻/視頻元素。 |
play() | 開始播放音頻/視頻。 |
pause() | 暫停當前播放的音頻/視頻。 |
HTML 音頻/視頻屬性
屬性 | 描述 |
---|---|
audioTracks | 返回表示可用音頻軌道的 AudioTrackList 對象。 |
autoplay | 設(shè)置或返回是否在加載完成后隨即播放音頻/視頻。 |
buffered | 返回表示音頻/視頻已緩沖部分的 TimeRanges 對象。 |
controller | 返回表示音頻/視頻當前媒體控制器的 MediaController 對象。 |
controls | 設(shè)置或返回音頻/視頻是否顯示控件(比如播放/暫停等)。 |
crossOrigin | 設(shè)置或返回音頻/視頻的 CORS 設(shè)置。 |
currentSrc | 返回當前音頻/視頻的 URL。 |
currentTime | 設(shè)置或返回音頻/視頻中的當前播放位置(以秒計)。 |
defaultMuted | 設(shè)置或返回音頻/視頻默認是否靜音。 |
defaultPlaybackRate | 設(shè)置或返回音頻/視頻的默認播放速度。 |
duration | 返回當前音頻/視頻的長度(以秒計)。 |
ended | 返回音頻/視頻的播放是否已結(jié)束。 |
error | 返回表示音頻/視頻錯誤狀態(tài)的 MediaError 對象。 |
loop | 設(shè)置或返回音頻/視頻是否應(yīng)在結(jié)束時重新播放。 |
mediaGroup | 設(shè)置或返回音頻/視頻所屬的組合(用于連接多個音頻/視頻元素)。 |
muted | 設(shè)置或返回音頻/視頻是否靜音。 |
networkState | 返回音頻/視頻的當前網(wǎng)絡(luò)狀態(tài)。 |
paused | 設(shè)置或返回音頻/視頻是否暫停。 |
playbackRate | 設(shè)置或返回音頻/視頻播放的速度。 |
played | 返回表示音頻/視頻已播放部分的 TimeRanges 對象。 |
preload | 設(shè)置或返回音頻/視頻是否應(yīng)該在頁面加載后進行加載。 |
readyState | 返回音頻/視頻當前的就緒狀態(tài)。 |
seekable | 返回表示音頻/視頻可尋址部分的 TimeRanges 對象。 |
seeking | 返回用戶是否正在音頻/視頻中進行查找。 |
src | 設(shè)置或返回音頻/視頻元素的當前來源。 |
startDate | 返回表示當前時間偏移的 Date 對象。 |
textTracks | 返回表示可用文本軌道的 TextTrackList 對象。 |
videoTracks | 返回表示可用視頻軌道的 VideoTrackList 對象。 |
volume | 設(shè)置或返回音頻/視頻的音量。 |
HTML 音頻/視頻事件
事件 | 描述 |
---|---|
abort | 當音頻/視頻的加載已放棄時觸發(fā)。 |
canplay | 當瀏覽器可以開始播放音頻/視頻時觸發(fā)。 |
canplaythrough | 當瀏覽器可在不因緩沖而停頓的情況下進行播放時觸發(fā)。 |
durationchange | 當音頻/視頻的時長已更改時觸發(fā)。 |
emptied | 當目前的播放列表為空時觸發(fā)。 |
ended | 當目前的播放列表已結(jié)束時觸發(fā)。 |
error | 當在音頻/視頻加載期間發(fā)生錯誤時觸發(fā)。 |
loadeddata | 當瀏覽器已加載音頻/視頻的當前幀時觸發(fā)。 |
loadedmetadata | 當瀏覽器已加載音頻/視頻的元數(shù)據(jù)時觸發(fā)。 |
loadstart | 當瀏覽器開始查找音頻/視頻時觸發(fā)。 |
pause | 當音頻/視頻已暫停時觸發(fā)。 |
play | 當音頻/視頻已開始或不再暫停時觸發(fā)。 |
playing | 當音頻/視頻在因緩沖而暫停或停止后已就緒時觸發(fā)。 |
progress | 當瀏覽器正在下載音頻/視頻時觸發(fā)。 |
ratechange | 當音頻/視頻的播放速度已更改時觸發(fā)。 |
seeked | 當用戶已移動/跳躍到音頻/視頻中的新位置時觸發(fā)。 |
seeking | 當用戶開始移動/跳躍到音頻/視頻中的新位置時觸發(fā)。 |
stalled | 當瀏覽器嘗試獲取媒體數(shù)據(jù),但數(shù)據(jù)不可用時觸發(fā)。 |
suspend | 當瀏覽器刻意不獲取媒體數(shù)據(jù)時觸發(fā)。 |
timeupdate | 當目前的播放位置已更改時觸發(fā)。 |
volumechange | 當音量已更改時觸發(fā)。 |
waiting | 當視頻由于需要緩沖下一幀而停止時觸發(fā)。 |
如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!
篇介紹了前端入門——html 中如何使用圖片,今天講下如何使用視頻和音頻等多媒體元素,它們能讓你的網(wǎng)頁更加豐富,讀者相對于文字圖片更愿意觀看視頻和音頻或其它多媒體。在本教程中,您將了解到不同的多媒體格式,以及如何在您的網(wǎng)頁中使用它們。
是多種媒體的綜合,一般包括文本,聲音和圖像等多種媒體形式。在計算機系統(tǒng)中,多媒體指組合兩種或兩種以上媒體的一種人機交互式信息交流和傳播媒體。使用的媒體包括文字、圖片、照片、聲音、動畫和影片,以及程式所提供的互動功能。
在因特網(wǎng)上,您會經(jīng)常發(fā)現(xiàn)嵌入網(wǎng)頁中的多媒體元素,現(xiàn)代瀏覽器已支持多種多媒體格式。
多媒體元素(比如視頻和音頻)存儲于媒體文件中。多媒體元素也擁有帶有不同擴展名字的文件格式,比如 .swf、.wmv、.mp3 以及 .mp4。具體有哪些格式可以參考 w3cshool 網(wǎng)站的介紹,https://www.w3cschool.cn/html5/html5-video.html ,https://www.w3cschool.cn/html5/html5-audio.html。
直到現(xiàn)在,網(wǎng)頁上仍然不存在一項顯示視頻的標準。今天,大多數(shù)視頻是通過插件(比如 Flash)來顯示的。然而,并非所有瀏覽器都擁有同樣的插件。HTML5 規(guī)定了一種通過 video 元素來包含視頻的標準方法。
語法如下:
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
您的瀏覽器不支持Video標簽。
</video>
<video> 元素提供了播放、暫停和音量控件來控制視頻。
同時 <video> 元素也提供了 width 和 height 屬性控制視頻的尺寸。如果設(shè)置的高度和寬度,所需的視頻空間會在頁面加載時保留。如果沒有設(shè)置這些屬性,瀏覽器不知道視頻的大小,瀏覽器就不能在加載時保留特定的空間,頁面就會根據(jù)原始視頻的大小而改變。
<video> 與 </video> 標簽之間插入的內(nèi)容是提供給不支持 video 元素的瀏覽器顯示的。元素可以鏈接不同的視頻文件。瀏覽器將使用第一個可識別的格式。一個頁面可以使用多個<video> 標簽,<video> 元素支持三種視頻格式: MP4, WebM, 和 Ogg。
顯示效果:
和視頻一樣沒有統(tǒng)一的標準,各個瀏覽器都不一樣。HTML5 規(guī)定了在網(wǎng)頁上嵌入音頻元素的標準,即使用 <audio> 元素。通過使用HTML5中的audio功能,你可以實現(xiàn)與flash相同的功能,即回放、跳轉(zhuǎn)、緩沖等。
語法如下:
<audio controls>
<source src="horse.ogg" type="audio/ogg">
<source src="horse.mp3" type="audio/mpeg">
您的瀏覽器不支持 audio 元素。
</audio>
control 屬性供添加播放、暫停和音量控件。在<audio> 與 </audio> 之間你需要插入瀏覽器不支持的<audio>元素的提示文本 。允許使用多個 <source> 元素。<source> 元素可以鏈接不同的音頻文件,瀏覽器將使用第一個支持的音頻文件。目前, <audio>元素支持三種音頻格式文件: MP3, Wav, 和 Ogg。
顯示效果:
插件(Plug-in)是擴展瀏覽器標準功能的計算機程序,插件被設(shè)計用于許多不同的目的:
1、<object> 元素
<object> 元素定義 HTML 文檔中的嵌入式對象。
它旨在將插件(例如 Java applet、PDF 閱讀器和 Flash 播放器)嵌入網(wǎng)頁中,但也可以用于將 HTML 包含在 HTML 中。
如下:
插入一個網(wǎng)頁片段
<object width="100%" height="500px" data="snippet.html"></object>
或者插入一個圖片
<object data="audi.jpeg"></object>
播放一個視頻
<object width="420" height="360"
classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
codebase="http://www.apple.com/qtactivex/qtplugin.cab">
<param name="src" value="movie.mp4">
<param name="controller" value="true">
</object>
播放一個音頻
<object height="100" width="100" data="song.mp3"></object>
2、<embed> 元素
<embed> 元素也可定義了 HTML 文檔中的嵌入式對象。這是一個 HTML5 標簽,在 HTML4 中是非法的,但是所有瀏覽器中都有效。
插入一個flash文件
<embed width="400" height="50" src="bookmark.swf">
插入html片段
<embed width="100%" height="500px" src="snippet.html">
播放一個音頻
<embed height="100" width="100" src="song.mp3" />
插入一個圖片
<embed src="audi.jpeg">
注意:
大多數(shù)瀏覽器不再支持 Java 小程序和插件。
大多數(shù)現(xiàn)代瀏覽器關(guān)閉了對 Flash 的支持。
我們可以使用 <video> 和 <audio> 標簽來顯示視頻和音頻
如下視頻代碼,HTML 5 <video> 元素會嘗試播放以 mp4、ogg 或 webm 格式中的一種來播放視頻。如果均失敗,則回退到 <embed> 元素。
HTML 5 + <object> + <embed> 是最好的解決辦法。
<video width="320" height="240" controls="controls">
<source src="movie.mp4" type="video/mp4" />
<source src="movie.ogg" type="video/ogg" />
<source src="movie.webm" type="video/webm" />
<object data="movie.mp4" width="320" height="240">
<embed src="movie.swf" width="320" height="240" />
</object>
</video>
如下音頻代碼,HTML5 <audio> 元素會嘗試以 mp3 或 ogg 來播放音頻。如果失敗,代碼將回退嘗試 <embed> 元素。
HTML 5 + <embed> 是最好的解決辦法。
<audio controls="controls" height="100" width="100">
<source src="song.mp3" type="audio/mp3" />
<source src="song.ogg" type="audio/ogg" />
<embed height="100" width="100" src="song.mp3" />
</audio>
到此你以及了解了如何在網(wǎng)頁中使用視頻音頻及其它多媒體控件,趕快自己試試,祝你學(xué)習(xí)愉快。
參考文獻:https://www.w3school.com.cn/html/html_video.asp
上篇:前端入門——html 中如何使用圖片
下篇:前端入門——html 表格的使用
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。