<!DOCTYPE html>
<html>
<head>
<title>html5添加音樂(lè)</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">
<!-- 說(shuō)明:
1、src:文件路徑。
2、hidden="true"表示隱藏音樂(lè)播放按鈕,相反使用hidden="false"表示開(kāi)啟音樂(lè)播放按鈕。
3、autostart="true" 表示是打開(kāi)網(wǎng)頁(yè)加載完后自動(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>
<!-- 說(shuō)明:
1、autoplay="autoplay",則背景音樂(lè)將在音網(wǎng)頁(yè)打開(kāi)后就自動(dòng)馬上播放。
2、controls="controls",則為了在頁(yè)面內(nèi)顯示顯示控件,如播放按鈕。
3、"loop="loop",則是為了使背景音樂(lè)重復(fù)播放。
4、preload="auto",則音頻在頁(yè)面加載的同時(shí)進(jìn)行加載,并預(yù)備播放。
5、src="",即是在""內(nèi)加入背景音樂(lè)的保存路徑,如:src=""。
注:若是想播放按鈕隱藏,則使用以下語(yǔ)句:
直接使用css 的display控制audio標(biāo)簽的顯示: -->
<style type="text/css">
audio{
display: none;
}
</style>
</body>
</html>
頻、視頻的格式
開(kāi)始學(xué)習(xí)之前,我們要下載些素材用來(lái)測(cè)試使用,地址如下:https://pan.baidu.com/s/1reRWno0ibYRcYXjw4MClqw
提取碼:td80
其中包括兩個(gè)視頻一個(gè)音頻和一個(gè)安裝程序。
學(xué)習(xí)如何在頁(yè)面中添加音頻、視頻之前應(yīng)該了解一點(diǎn)基礎(chǔ)知識(shí)。
我們應(yīng)該都有在互聯(lián)網(wǎng)上下載電影、視頻、音樂(lè)的經(jīng)歷,大家會(huì)注意到,有的視頻文件名的后綴是.avi,有的視頻是.mp4,還有.mov的,據(jù)不完全統(tǒng)計(jì),常見(jiàn)的各種視頻格式有十幾種之多。
常見(jiàn)的音頻的格式比起視頻來(lái)會(huì)顯得少一些,一般是.wav和.mp3格式。
為什么存儲(chǔ)相同的內(nèi)容可以有這么多不同的格式呢?
格式產(chǎn)生的核心在于對(duì)音頻、視頻等多媒體文件進(jìn)行的不同編碼方式。
那什么是編碼呢?
簡(jiǎn)單來(lái)說(shuō)我們可以把"編碼"這個(gè)詞分成兩個(gè)部分,第一個(gè)是"編",也就是"整理、組織"的意思,第二個(gè)是"碼",也就是我們平時(shí)所說(shuō)的"數(shù)碼"。
首先說(shuō)"碼",我們的計(jì)算機(jī)中的數(shù)據(jù)最終都是通過(guò)二進(jìn)制的數(shù)字(0和1)來(lái)存儲(chǔ)或計(jì)算的,這些0或1就是數(shù)碼。無(wú)論代碼、程序、圖片、音樂(lè)、視頻、文字等的存儲(chǔ)與計(jì)算都不例外。不管多么復(fù)雜或簡(jiǎn)單的文件,在計(jì)算機(jī)看來(lái),都是一大堆0和1。
一個(gè)0或1被稱為1比特,圖片或視頻中的一個(gè)黑白像素通常是8比特(八位),如果一張1080乘720個(gè)像素的圖片所占內(nèi)存的大小就是1080*720*8=6220800字節(jié),約等于0,74mb。如果一個(gè)視頻每秒中有25幀,也就是一秒鐘在我們眼前閃過(guò)25張圖片(視頻播放實(shí)際上就是在我們眼前快速的更替圖片,這些圖片在大腦中會(huì)被自動(dòng)連成動(dòng)作,這也是小的時(shí)候在課本的角上畫(huà)好一套走路的小人的不同動(dòng)作后,快速翻動(dòng)書(shū)頁(yè),畫(huà)面中的小人會(huì)走路的原因,大家可以自行百度"視覺(jué)暫留原理")。
一秒鐘25張1080乘720的圖片的視頻,一秒鐘就會(huì)占0.74*25=18.5mb的內(nèi)存。如果是一分鐘呢,18.5*60=1110mb約等于1.08gb。這樣的數(shù)據(jù)量是不是很嚇人。
但事實(shí)上我們下載的1080*720的一小時(shí)三十分鐘左右的視頻的體積往往也沒(méi)有超過(guò)1gb,這又是為什么呢?
這就是"編"的功勞!對(duì)數(shù)碼進(jìn)行整理和組織的主要目的是壓縮體積,壓縮數(shù)據(jù)體積既能節(jié)省磁盤又能方便傳播與攜帶,是信息技術(shù)的關(guān)鍵技術(shù)之一,壓縮的方法一般有兩類,一類叫做無(wú)損壓縮,也就是通過(guò)對(duì)這一大堆數(shù)碼進(jìn)行一個(gè)特殊的組合使其占有更小的空間,一類叫做有損壓縮,是在無(wú)損壓縮的基礎(chǔ)上剔除掉人眼睛識(shí)別不到的冗余信息。具體的壓縮過(guò)程涉及到很多數(shù)學(xué)知識(shí),這里大家簡(jiǎn)單了解一下即可。
壓縮后的視頻或音頻文件最終通過(guò)播放器對(duì)該文件的壓縮算法進(jìn)行逆向運(yùn)算后,還原成計(jì)算機(jī)可以解讀的畫(huà)面和聲音再呈現(xiàn)給觀眾,這個(gè)過(guò)程叫做"解碼"。
通過(guò)"編"的方式壓縮文件體積,通過(guò)"解"的方式再還原出文件內(nèi)容成了處理大規(guī)模數(shù)據(jù)的通用手法。
不同的編碼和解碼方式催生出不同的文件格式,這種情況下,瀏覽器在播放視頻的時(shí)候就要有應(yīng)對(duì)不同格式的不同解碼方式,在15年以前,瀏覽器為了能夠播放不同格式的視頻,就要調(diào)用電腦中不同的播放器,這個(gè)過(guò)程的寫法非常麻煩。隨著技術(shù)不斷地整合,時(shí)至今日,在頁(yè)面中播放視頻不需要這么復(fù)雜的寫法了,但是因?yàn)槊總€(gè)瀏覽器都不是包打一切,因此,雖然不用指定播放器,但是也要預(yù)設(shè)不同格式的視頻來(lái)應(yīng)對(duì)不同的瀏覽器。
因此,我們?cè)谶@一部分的學(xué)習(xí)中除了講解如何向頁(yè)面添加不同格式的音視頻外還會(huì)告訴大家如何為音視頻轉(zhuǎn)換格式。
為頁(yè)面添加音頻、視頻
添加音頻使用<audio></audio>標(biāo)簽,這個(gè)標(biāo)簽被所有瀏覽器支持,是html5推薦的音頻導(dǎo)入標(biāo)簽,但是遺憾的是在html4標(biāo)準(zhǔn)中是不被支持的或者說(shuō)是非法的。
這里給大家簡(jiǎn)要介紹一下html5和html4的區(qū)別。
簡(jiǎn)單來(lái)說(shuō)呢,一個(gè)html文件的第一條語(yǔ)句是<!DOCTYPE HTML>,它就是HTML5標(biāo)準(zhǔn)的文件。如果是html4,它的第一條聲明語(yǔ)句有三種寫法,像這樣
一:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
二:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
三:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
版權(quán)聲明:本文為CSDN博主「痦子」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/yh1061632045/article/details/81518141
這讓我想到了孔乙己的"茴"字的多種寫法
是不是很麻煩,其實(shí)html5比html4更簡(jiǎn)單,功能更強(qiáng)大,而且我們一直以html5的標(biāo)準(zhǔn)進(jìn)行學(xué)習(xí),所以大家不必糾結(jié)。
下面我們導(dǎo)入一個(gè)音頻試試吧。示例代碼如下:
<!DOCTYPE HTML>
<html>
<head>
<title>音視頻導(dǎo)入</title>
</head>
<body>
<audio controls="controls">
<source src="audio/千年的祈禱.mp3" type="audio/mp3" />
</audio>
</body>
</html>
頁(yè)面效果如下:
其中controls屬性就是用來(lái)顯示播放控制界面的,就是這個(gè):(偷懶的話可以寫成"controls"就ok,不必加"="以及后面的內(nèi)容了。)
如果以后您使用自己編寫的控制界面,就可以不添加這個(gè)屬性。
刪掉這個(gè)屬性后就是這樣:這樣為自定義的播放控制界面留出了位置。
<audio></audio>標(biāo)簽夾著<source>標(biāo)簽,一個(gè)<audio></audio>標(biāo)簽中可以添加多個(gè)<source>用以支持不同的格式要求。示例代碼如下:(這段代碼來(lái)自w3school)
<audio controls="controls">
<source src="song.ogg" type="audio/ogg" />
<source src="song.mp3" type="audio/mpeg" />
Your browser does not support the audio element.<!--你的瀏覽器不支持這個(gè)音頻元素-->
</audio>
type屬性是告訴瀏覽器音樂(lè)文件的類型。
不同格式的文件的生成需要我們自己去做,這就涉及到如何給一個(gè)音頻文件進(jìn)行格式轉(zhuǎn)化的問(wèn)題。這個(gè)問(wèn)題我們明天再說(shuō),今天先學(xué)習(xí)為頁(yè)面添加音頻和視頻。
下面我們來(lái)看一下視頻的導(dǎo)入方法,示例代碼如下:
<video controls>
<source src="video/阿塔麗.mp4" type="video/mp4" />
</video>
頁(yè)面效果如下:
我們可以通過(guò)設(shè)置height和width屬性來(lái)控制視頻的面積。實(shí)例代碼如下:
<video controls width="850" height="500" >
<source src="video/阿塔麗.mp4" type="video/mp4" />
</video>
頁(yè)面效果如下:
視頻畫(huà)面變小了,和視頻并排的是我們之前添加的音頻文件,由此可知,這兩個(gè)元素都是內(nèi)聯(lián)元素。
今天的內(nèi)容結(jié)束了,明天我們繼續(xù)學(xué)習(xí)格式轉(zhuǎn)換和為不同瀏覽器預(yù)設(shè)不同音視頻格式的方法。
如果您有任何疑問(wèn)請(qǐng)給我留言,如有問(wèn)題或錯(cuò)誤請(qǐng)予以斧正!
HTML序章(學(xué)習(xí)目的、對(duì)象、基本概念)——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
HTML是什么?——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
第一個(gè)HTML頁(yè)面如何寫?——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
HTML頁(yè)面中head標(biāo)簽有啥用?——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
初識(shí)meta標(biāo)簽與SEO——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
HTML中的元素使用方法1——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
HTML中的元素使用方法2——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
HTML元素中的屬性1——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
HTML元素中的屬性2(路徑詳解)——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
使用HTML添加表格1(基本元素)——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
使用HTML添加表格2(表格頭部與腳部)——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
使用HTML添加表格3(間距與顏色)——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
使用HTML添加表格4(行顏色與表格嵌套)——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
16進(jìn)制顏色表示與RGB色彩模型——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
HTML中的塊級(jí)元素與內(nèi)聯(lián)元素——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
初識(shí)HTML中的<div>塊元素——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
在HTML頁(yè)面中嵌入其他頁(yè)面的方法——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
封閉在家學(xué)網(wǎng)頁(yè)制作!為頁(yè)面嵌入PDF文件——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
HTML表單元素初識(shí)1——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
HTML表單元素初識(shí)2——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
HTML表單3(下拉列表、多行文字輸入)——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
HTML表單4(form的action、method屬性)——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
HTML列表制作講解——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
為HTML頁(yè)面添加視頻、音頻的方法——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
音視頻格式轉(zhuǎn)換神器與html視頻元素加字幕——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
HTML中使用<a>標(biāo)簽實(shí)現(xiàn)文本內(nèi)鏈接——零基礎(chǔ)自學(xué)網(wǎng)頁(yè)制作
在多個(gè)HTML頁(yè)面之間切換時(shí)持續(xù)播放背景音樂(lè),可以使用JavaScript和localStorage來(lái)實(shí)現(xiàn)。這里有一個(gè)簡(jiǎn)單的實(shí)現(xiàn)方案:
下面是一個(gè)簡(jiǎn)化版的多頁(yè)面背景音樂(lè)連續(xù)播放的Demo示例。這個(gè)例子包含兩個(gè)HTML文件:index.html 和 page2.html。請(qǐng)確保你有相應(yīng)的音頻文件(如music.mp3)并放置在與HTML文件相同的目錄下。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>首頁(yè)</title>
<style>
#backgroundMusic {
display: none;
}
</style>
</head>
<body>
<h1>首頁(yè)</h1>
<p>這是首頁(yè),背景音樂(lè)會(huì)持續(xù)播放。</p>
<a href="page2.html">前往第二頁(yè)</a>
<audio controls id="backgroundMusic" loop>
<source src="https://img.mtsws.cn/LightPicture/2023/08/45f935a39d0189c0.mp3" type="audio/mpeg" />
您的瀏覽器不支持 audio 元素。
</audio>
<script>
document.addEventListener('DOMContentLoaded', function () {
var audio = document.getElementById('backgroundMusic')
setupMusic(audio)
})
function setupMusic(audio) {
var musicTime = parseFloat(localStorage.getItem('musicTime')) || 0
var isPlaying = localStorage.getItem('musicPlaying') === 'true'
audio.currentTime = musicTime
if (isPlaying) {
audio.play().catch(function (error) {
console.error('自動(dòng)播放被阻止:', error)
})
}
audio.onplay = function () {
localStorage.setItem('musicPlaying', true)
}
audio.onpause = function () {
localStorage.setItem('musicPlaying', false)
}
audio.ontimeupdate = function () {
localStorage.setItem('musicTime', audio.currentTime)
}
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第二頁(yè)</title>
<style>
#backgroundMusic { display: none; }
</style>
</head>
<body>
<h1>第二頁(yè)</h1>
<p>切換到第二頁(yè),背景音樂(lè)仍然連續(xù)播放。</p>
<a href="index.html">返回首頁(yè)</a>
<audio id="backgroundMusic" src="music.mp3" loop></audio>
<script>
document.addEventListener('DOMContentLoaded', function() {
var audio = document.getElementById('backgroundMusic');
setupMusic(audio);
});
// 與index.html中相同的setupMusic函數(shù),確保音樂(lè)播放邏輯一致
function setupMusic(audio) {/*...函數(shù)內(nèi)容與上文相同...*/}
</script>
</body>
</html>
在這個(gè)示例中,index.html 和 page2.html 都包含了相同的JavaScript邏輯來(lái)管理背景音樂(lè)的播放狀態(tài)和時(shí)間。當(dāng)用戶在頁(yè)面間導(dǎo)航時(shí),音樂(lè)將會(huì)無(wú)縫繼續(xù)播放,而不是重新開(kāi)始。請(qǐng)根據(jù)實(shí)際需要調(diào)整音頻文件路徑和其他細(xì)節(jié)。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。