整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          為HTML頁面添加視頻、音頻的方法-零基礎自學網頁制作

          頻、視頻的格式

          開始學習之前,我們要下載些素材用來測試使用,地址如下:https://pan.baidu.com/s/1reRWno0ibYRcYXjw4MClqw

          提取碼:td80

          其中包括兩個視頻一個音頻和一個安裝程序。

          學習如何在頁面中添加音頻、視頻之前應該了解一點基礎知識。

          我們應該都有在互聯網上下載電影、視頻、音樂的經歷,大家會注意到,有的視頻文件名的后綴是.avi,有的視頻是.mp4,還有.mov的,據不完全統計,常見的各種視頻格式有十幾種之多。

          常見的音頻的格式比起視頻來會顯得少一些,一般是.wav和.mp3格式。

          為什么存儲相同的內容可以有這么多不同的格式呢?

          格式產生的核心在于對音頻、視頻等多媒體文件進行的不同編碼方式。

          那什么是編碼呢?

          簡單來說我們可以把"編碼"這個詞分成兩個部分,第一個是"編",也就是"整理、組織"的意思,第二個是"碼",也就是我們平時所說的"數碼"。

          首先說"碼",我們的計算機中的數據最終都是通過二進制的數字(0和1)來存儲或計算的,這些0或1就是數碼。無論代碼、程序、圖片、音樂、視頻、文字等的存儲與計算都不例外。不管多么復雜或簡單的文件,在計算機看來,都是一大堆0和1。

          一個0或1被稱為1比特,圖片或視頻中的一個黑白像素通常是8比特(八位),如果一張1080乘720個像素的圖片所占內存的大小就是1080*720*8=6220800字節,約等于0,74mb。如果一個視頻每秒中有25幀,也就是一秒鐘在我們眼前閃過25張圖片(視頻播放實際上就是在我們眼前快速的更替圖片,這些圖片在大腦中會被自動連成動作,這也是小的時候在課本的角上畫好一套走路的小人的不同動作后,快速翻動書頁,畫面中的小人會走路的原因,大家可以自行百度"視覺暫留原理")。

          一秒鐘25張1080乘720的圖片的視頻,一秒鐘就會占0.74*25=18.5mb的內存。如果是一分鐘呢,18.5*60=1110mb約等于1.08gb。這樣的數據量是不是很嚇人。

          但事實上我們下載的1080*720的一小時三十分鐘左右的視頻的體積往往也沒有超過1gb,這又是為什么呢?

          這就是"編"的功勞!對數碼進行整理和組織的主要目的是壓縮體積,壓縮數據體積既能節省磁盤又能方便傳播與攜帶,是信息技術的關鍵技術之一,壓縮的方法一般有兩類,一類叫做無損壓縮,也就是通過對這一大堆數碼進行一個特殊的組合使其占有更小的空間,一類叫做有損壓縮,是在無損壓縮的基礎上剔除掉人眼睛識別不到的冗余信息。具體的壓縮過程涉及到很多數學知識,這里大家簡單了解一下即可。

          壓縮后的視頻或音頻文件最終通過播放器對該文件的壓縮算法進行逆向運算后,還原成計算機可以解讀的畫面和聲音再呈現給觀眾,這個過程叫做"解碼"。

          通過"編"的方式壓縮文件體積,通過"解"的方式再還原出文件內容成了處理大規模數據的通用手法。

          不同的編碼和解碼方式催生出不同的文件格式,這種情況下,瀏覽器在播放視頻的時候就要有應對不同格式的不同解碼方式,在15年以前,瀏覽器為了能夠播放不同格式的視頻,就要調用電腦中不同的播放器,這個過程的寫法非常麻煩。隨著技術不斷地整合,時至今日,在頁面中播放視頻不需要這么復雜的寫法了,但是因為每個瀏覽器都不是包打一切,因此,雖然不用指定播放器,但是也要預設不同格式的視頻來應對不同的瀏覽器。

          因此,我們在這一部分的學習中除了講解如何向頁面添加不同格式的音視頻外還會告訴大家如何為音視頻轉換格式。

          為頁面添加音頻、視頻

          添加音頻使用<audio></audio>標簽,這個標簽被所有瀏覽器支持,是html5推薦的音頻導入標簽,但是遺憾的是在html4標準中是不被支持的或者說是非法的。

          這里給大家簡要介紹一下html5和html4的區別。

          簡單來說呢,一個html文件的第一條語句是<!DOCTYPE HTML>,它就是HTML5標準的文件。如果是html4,它的第一條聲明語句有三種寫法,像這樣

          一:<!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">

          版權聲明:本文為CSDN博主「痦子」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。

          原文鏈接:https://blog.csdn.net/yh1061632045/article/details/81518141

          這讓我想到了孔乙己的"茴"字的多種寫法

          是不是很麻煩,其實html5比html4更簡單,功能更強大,而且我們一直以html5的標準進行學習,所以大家不必糾結。

          下面我們導入一個音頻試試吧。示例代碼如下:

          <!DOCTYPE HTML>
            <html>
            <head> 
            <title>音視頻導入</title>
            </head> 
            <body>
            <audio controls="controls"> 
              <source src="audio/千年的祈禱.mp3" type="audio/mp3" />
            </audio>
            </body> 
            </html>

          頁面效果如下:

          其中controls屬性就是用來顯示播放控制界面的,就是這個:(偷懶的話可以寫成"controls"就ok,不必加"="以及后面的內容了。)

          如果以后您使用自己編寫的控制界面,就可以不添加這個屬性。

          刪掉這個屬性后就是這樣:這樣為自定義的播放控制界面留出了位置。

          <audio></audio>標簽夾著<source>標簽,一個<audio></audio>標簽中可以添加多個<source>用以支持不同的格式要求。示例代碼如下:(這段代碼來自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.<!--你的瀏覽器不支持這個音頻元素-->
          </audio>

          type屬性是告訴瀏覽器音樂文件的類型。

          不同格式的文件的生成需要我們自己去做,這就涉及到如何給一個音頻文件進行格式轉化的問題。這個問題我們明天再說,今天先學習為頁面添加音頻和視頻。

          下面我們來看一下視頻的導入方法,示例代碼如下:

          <video controls> 
            <source src="video/阿塔麗.mp4" type="video/mp4" />
          </video>

          頁面效果如下:

          我們可以通過設置height和width屬性來控制視頻的面積。實例代碼如下:

          <video controls width="850" height="500" > 
            <source src="video/阿塔麗.mp4" type="video/mp4" />
          </video>

          頁面效果如下:

          視頻畫面變小了,和視頻并排的是我們之前添加的音頻文件,由此可知,這兩個元素都是內聯元素。

          今天的內容結束了,明天我們繼續學習格式轉換和為不同瀏覽器預設不同音視頻格式的方法。

          如果您有任何疑問請給我留言,如有問題或錯誤請予以斧正!

          HTML完整學習目錄

          HTML序章(學習目的、對象、基本概念)——零基礎自學網頁制作

          HTML是什么?——零基礎自學網頁制作

          第一個HTML頁面如何寫?——零基礎自學網頁制作

          HTML頁面中head標簽有啥用?——零基礎自學網頁制作

          初識meta標簽與SEO——零基礎自學網頁制作

          HTML中的元素使用方法1——零基礎自學網頁制作

          HTML中的元素使用方法2——零基礎自學網頁制作

          HTML元素中的屬性1——零基礎自學網頁制作

          HTML元素中的屬性2(路徑詳解)——零基礎自學網頁制作

          使用HTML添加表格1(基本元素)——零基礎自學網頁制作

          使用HTML添加表格2(表格頭部與腳部)——零基礎自學網頁制作

          使用HTML添加表格3(間距與顏色)——零基礎自學網頁制作

          使用HTML添加表格4(行顏色與表格嵌套)——零基礎自學網頁制作

          16進制顏色表示與RGB色彩模型——零基礎自學網頁制作

          HTML中的塊級元素與內聯元素——零基礎自學網頁制作

          初識HTML中的<div>塊元素——零基礎自學網頁制作

          在HTML頁面中嵌入其他頁面的方法——零基礎自學網頁制作

          封閉在家學網頁制作!為頁面嵌入PDF文件——零基礎自學網頁制作

          HTML表單元素初識1——零基礎自學網頁制作

          HTML表單元素初識2——零基礎自學網頁制作

          HTML表單3(下拉列表、多行文字輸入)——零基礎自學網頁制作

          HTML表單4(form的action、method屬性)——零基礎自學網頁制作

          HTML列表制作講解——零基礎自學網頁制作

          為HTML頁面添加視頻、音頻的方法——零基礎自學網頁制作

          音視頻格式轉換神器與html視頻元素加字幕——零基礎自學網頁制作

          HTML中使用<a>標簽實現文本內鏈接——零基礎自學網頁制作

          先要安裝css的loader

          npm install css-loader style-loader --save-dev

          然后在webpack.config.js中配置如下代碼

          意思是先用css-loader加載css文件,再用style-loader添加在頁面中

          在app目錄下創建component.css文件

          body{
           background-color: red;
          }

          在app/index.js中引入css文件

          運行npm run start命令。

          可以看到我們瀏覽器整個背景都變成了紅色。

          webpack做了什么呢?

          看到build/app.js中有如下代碼。

          再看下我們生產的index.html文件

          奇怪了,并沒有內斂樣式也沒有引入的css文件,那瀏覽器是為什么變紅的呢?

          我們在瀏覽器中打開調試工具。

          原來樣式在這!

          webpack動態的添加了內斂樣式在代碼中。

          如果多人協作開發的情況下,會有很大可能出現代碼命名重復的情況,如果出現這種情況怎么辦呢?

          來讓我們試驗一下。

          在app目錄下添加兩個css文件,style1.css

          body{
           background-color: red;
          }.class1{
          color: green;
          }

          和style2.css

          body{
           background-color: black;
          }.class1{
           color: blue;
          }

          在index.js中引入這兩個文件

          修改component.js文件,使其給元素添加傳入的類名

          在webpack.config.js中添加如下配置

          我們執行npm run start 命令若看到

          即為打包成功。

          打開瀏覽器http://localhost:8080/

          可以看到同樣的類名都正常顯示出來了,看下右邊的文檔結構,發現我們的類名不是class1了。

          原來CSS Modules對我們的類名做了哈希處理,我們再也不用擔心同事跟我們有相同的命名了。

          是不是很方便呢?

          讓我們再來面對另一個問題,現在這種情況下css是js動態添加上去的,如果當js文件有一個長時間的阻塞事件,頁面將會處于長時間的無樣式的狀態。

          這是我們不希望看到的,怎么把css文件和js文件分離呢?

          首先我們需要安裝一個插件

          npm install extract-text-webpack-plugin --save-dev

          安裝成功之后在webpack.config.js中添加如下配置

          完成之后運行一下npm run start

          打開瀏覽器http://localhost:8080/

          可以看到我們兩個css文件合并為一個app.css文件并以外部樣式表的形式加載。

          而且css文件比js文件要先請求,這樣就避免頁面會出現FOUC-Flas Of Unstyle Content無樣式內容閃爍。

          webpack關于css的加載就講到這里。

          助CSS提供的animation與transform及filter濾鏡等屬性,我們可以使用CSS設置出精美的動畫效果,進一步可以使用CSS對HTML頁面基本元素、圖標等進行動畫設計,如按鈕效果,頁面加載圖標等。本文主要介紹加載圖標動畫設計,并進行實例分析。

          CSS加載動畫設計


          實現要求及展示

          本例設計實現自動旋轉的加載圖標設計,在圖標旋轉過程中,動態改變顏色與狀態,實現效果如下所示:

          動態加載loading設計效果


          基本語法說明

          本例設計效果描述如上所示,一方面需要實現旋轉效果,另一方面需要實現顏色變化,所需掌握知識點主要包括CSS濾鏡filter,動畫屬性animation與@keyframes關鍵幀的定義等。各類所需基本語法說明如下:

          1、flex布局

          通過使用flex布局實現動畫層在web頁面中進行布局與定位,本例應用到justify-content屬性與

          align-items屬性實現動畫層在頁面水平與垂直方向進行居中顯示。

          2、before與after偽元素

          偽元素是在html文件代碼中不存在的元素,但是其能夠在網頁瀏覽時表現出行為與效果,與真實存在的元素類似。其中before指在元素前加入的內容,after表示在元素后加入的內容。如我們在頁面中定義一個DIV層,則可使用before在前前添加新的內容,顯示不同效果。代碼如下:

          before元素使用實例

          在該實例中我們在dv表示的層之前添加了一個新的層效果,即.dv:before所定義的部分,頁面實際代碼中只有一個黃色層,生成的偽元素層為綠色層,實現效果如下:

          偽元素層效果

          3、線性漸變與透明度漸變

          CSS提供元素原色的漸變效果,主要漸變類型包括徑向漸變與線性漸變。本例需要使用線性漸變實現背景效果。線性漸變(Linear Gradients)可以實現顏色漸變、透明的漸變等。如:

          linear-gradient(0deg, blue, green 40%, red);

          表示:從下到上,從藍色開始漸變、到高度40%位置是綠色漸變開始、最后以紅色結束;將其應用到我們偽元素定義案例中則可呈現如下效果:

          偽元素層漸變效果

          除使用以上方法實現漸變之外,還可以對透明度進行漸變設置,需要使用transparent參數表示透明。如:

          linear-gradient(0deg,transparent,transparent 40%,red);則表示按照透明度進行漸變;

          透明線性漸變效果如下圖所示:

          現性漸變效果展示

          4、圓形DIV與邊緣模糊設置

          圓形DIV主要通過border-radius屬性設置,當其值設置為50%時即可形成圓形,邊緣模糊主要通過濾鏡filter實現。使用blur()設置高斯模糊。實例效果如下所示:

          圓形div與高斯模糊

          本例實現效果描述如上圖所示,其中外層div設置radius為50%,內層綠色部分設置高斯模糊。

          5、動畫與旋轉基本知識

          動畫效果主要通過animation屬性與@keyframes進行設置,前文已經進行了說明,本文不再詳細說明,如需閱讀,請自行查閱。


          實現代碼描述

          旋轉的加載動態效果基于以上基本語法進行設計與開發,實現主要代碼表述如下:

          本例實現完整代碼


          本頭條號長期關注編程資訊分享;編程課程、素材、代碼分享及編程培訓。如果您對以上方面有興趣或代碼錯誤、建議與意見,可在評論區回復。更多程序設計相關教程及實例分享,期待大家關注與閱讀!


          主站蜘蛛池模板: 国产精品区AV一区二区| 在线成人一区二区| 久久精品一区二区| 一区二区三区内射美女毛片| 农村乱人伦一区二区| 精品人妻少妇一区二区| 亚洲av乱码一区二区三区| 97精品国产福利一区二区三区| 日韩精品一区二区三区中文3d| 精品无码一区二区三区爱欲九九| 亚洲第一区在线观看| 美女视频一区二区| 精品乱码一区二区三区在线| 天堂va视频一区二区| 91秒拍国产福利一区| 老熟女高潮一区二区三区| 日韩制服国产精品一区| 成人无码一区二区三区| 亚洲熟女乱综合一区二区| 精品中文字幕一区二区三区四区| 成人精品一区二区三区电影| 久久伊人精品一区二区三区| 国产在线无码视频一区二区三区| 一区二区三区无码视频免费福利| 又硬又粗又大一区二区三区视频| 国模吧一区二区三区| 精品人无码一区二区三区| 国产精品高清一区二区三区不卡| 精品亚洲A∨无码一区二区三区| 午夜福利av无码一区二区 | 国产精品久久久久久麻豆一区| 奇米精品一区二区三区在线观看| 精品一区二区三区高清免费观看| 无码人妻一区二区三区免费视频| 国产一区二区三区不卡在线看| 国产精品一区12p| 国产精品乱码一区二区三区 | 亚洲色精品三区二区一区| 亚洲电影唐人社一区二区| 亚洲无码一区二区三区| 国产成人精品一区二区三在线观看|