HTML5 音頻 Audio 標簽詳解

HTML5 引入了 <audio> 標簽,允許開發者在網頁中直接嵌入音頻文件,而不需要依賴第三方插件。本文將全面介紹 <audio> 標簽的各種屬性,并通過實例代碼詳細說明其用法。

一、基礎用法

1. 基本結構

HTML5 中使用 <audio> 標簽嵌入音頻文件,最簡單的形式如下:

<audio src="audio-file.mp3" controls></audio>

在這個示例中,src 屬性指定音頻文件的路徑,controls 屬性使瀏覽器顯示音頻控件。

2. 示例代碼

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>HTML5 Audio Example</title>
</head>
<body><h1>HTML5 Audio Example</h1><audio src="audio-file.mp3" controls>Your browser does not support the audio element.</audio>
</body>
</html>

這段代碼將在網頁上顯示一個音頻播放器,如果瀏覽器不支持 <audio> 標簽,將顯示替代文本 “Your browser does not support the audio element.”。

二、屬性詳解

1. src

指定音頻文件的 URL,可以是相對路徑或絕對路徑。

<audio src="path/to/your-audio-file.mp3" controls></audio>

2. controls

顯示音頻控件(播放、暫停、音量等)。

<audio src="audio-file.mp3" controls></audio>

3. autoplay

音頻文件在頁面加載完成后自動播放。需要注意的是,為了用戶體驗,很多瀏覽器默認禁止自動播放,特別是移動設備。

<audio src="audio-file.mp3" controls autoplay></audio>

4. loop

音頻文件播放結束后自動重新播放。

<audio src="audio-file.mp3" controls loop></audio>

5. muted

初始加載時將音頻設置為靜音。

<audio src="audio-file.mp3" controls muted></audio>

6. preload

提示瀏覽器在頁面加載時如何處理音頻文件。可能的值有:

  • none:不預加載音頻文件。
  • metadata:只預加載音頻文件的元數據。
  • auto:瀏覽器選擇最佳方式預加載音頻文件。
<audio src="audio-file.mp3" controls preload="auto"></audio>

7. crossorigin

控制跨域資源共享 (CORS),允許你配置是否可以加載跨域資源。

  • anonymous:不使用憑據。
  • use-credentials:使用憑據(如 Cookies)。
<audio src="audio-file.mp3" controls crossorigin="anonymous"></audio>

三、支持多種音頻格式

由于不同瀏覽器對音頻格式的支持不同,通常需要提供多種格式的音頻文件,以確保兼容性。可以使用多個 <source> 標簽來定義不同格式的音頻文件。

<audio controls><source src="audio-file.mp3" type="audio/mpeg"><source src="audio-file.ogg" type="audio/ogg">Your browser does not support the audio element.
</audio>

示例代碼

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>HTML5 Audio Example</title>
</head>
<body><h1>HTML5 Audio Example with Multiple Formats</h1><audio controls><source src="audio-file.mp3" type="audio/mpeg"><source src="audio-file.ogg" type="audio/ogg">Your browser does not support the audio element.</audio>
</body>
</html>

四、使用 JavaScript 控制音頻

HTML5 提供了豐富的 JavaScript API,可以用來控制音頻播放。以下是一些常用的屬性和方法:

1. 常用屬性

  • audio.currentTime:獲取或設置當前播放時間(秒)。
  • audio.duration:獲取音頻總時長(秒)。
  • audio.paused:返回音頻是否暫停。
  • audio.volume:獲取或設置音量(0.0 到 1.0)。

2. 常用方法

  • audio.play():播放音頻。
  • audio.pause():暫停音頻。
  • audio.load():重新加載音頻文件。

示例代碼

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>HTML5 Audio Control with JavaScript</title>
</head>
<body><h1>Control HTML5 Audio with JavaScript</h1><audio id="myAudio" src="audio-file.mp3" controls></audio><br><button onclick="playAudio()">Play</button><button onclick="pauseAudio()">Pause</button><button onclick="stopAudio()">Stop</button><script>var audio = document.getElementById('myAudio');function playAudio() {audio.play();}function pauseAudio() {audio.pause();}function stopAudio() {audio.pause();audio.currentTime = 0; // Reset playback position to the start}</script>
</body>
</html>

在這個示例中,我們通過 JavaScript 控制音頻的播放、暫停和停止。audio.pause() 方法用于暫停音頻,audio.currentTime = 0 將播放位置重置到開始。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/19927.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/19927.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/19927.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

通過定時器和脈沖控制LED

目錄 一、定時器 &#xff08;一&#xff09;定時器簡介 &#xff08;二&#xff09;定時器類型 1、常見定時器 2、定時器的主要功能 3、常規定時器 &#xff08;三&#xff09;定時器配置 1、定時器標準外設庫接口函數 2、定時器標準外設庫配置 二、PWM &#xff08…

匿名函數(lambda)

自學python如何成為大佬(目錄):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 匿名函數是指沒有名字的函數&#xff0c;應用在需要一個函數&#xff0c;但是又不想費神去命名這個函數的場合。通常情況下&#xff0c;這樣的函數只…

【Qt】Qt界面美化指南:深入理解QSS樣式表的應用與實踐

文章目錄 前言&#xff1a;1. 背景介紹2. 基本語法3. QSS 設置方式3.1. 設置全局樣式3.2. 從文件加載樣式表3.3. 使用 Qt Designer 編輯樣式 總結&#xff1a; 前言&#xff1a; 在當今這個視覺至上的時代&#xff0c;用戶界面&#xff08;UI&#xff09;的設計對于任何軟件產…

智能制造案例專題|與MongoDB一起解鎖工業4.0轉型與增長的無限潛力!

MongoDB 智能制造 數字化技術的洪流在各個產業鏈的主干和枝節涌現。在工業制造領域&#xff0c;能否通過數字化技術實現各生產要素、生產環節之間的緊密配合&#xff0c;高效規劃、管理整個生產流程&#xff0c;是企業提升韌性、贏得競爭的關鍵。隨著工業4.0的深入發展和智能…

高級Java開發者的自我修養:深入剖析JVM垃圾回收機制及面試要點

在探索Java虛擬機&#xff08;JVM&#xff09;的奧秘過程中&#xff0c;垃圾回收機制&#xff08;GC&#xff09;是一個不可或缺的話題&#xff0c;尤其在面對大型應用和系統優化時顯得尤為重要。JVM的自動內存管理是Java編程語言中一項革命性的特性&#xff0c;它大大簡化了程…

測試記錄2:Ubuntu工程直接添加使用Eigen3源文件

直接將Eigen3源文件放入到工程目錄下使用&#xff0c;免安裝 1.新建空文件夾Test_eigen 2.創建將eigen下載的文件夾解壓&#xff0c;重命名為eigen3放入到Test_eigen 3.進入Test_eigen&#xff0c;創建main.cpp #include <iostream> #include <Eigen/Eigen>int m…

AI盒子在智慧加油站的應用

方案背景 為規范加油站作業&#xff0c;保障人民生命財產安全&#xff0c;《加油站作業安全規范》&#xff08;AQ 3010-2007&#xff09;中第五條規定&#xff1a;卸油作業基本要求&#xff0c;明確防靜電、防雷電、防火、人員值守、禁止其他車輛及非工作人員進入卸油區。 痛點…

數據結構基礎篇(4)

十六.循環鏈表 概念 循環鏈表是一種頭尾相接的鏈表&#xff08;最后一個結點的指針域指向頭結點&#xff0c;整個鏈表形成一個環&#xff09;優點 從表任一結點出發均可找到表中其他結點判斷終止 由于循環鏈表中沒有NULL指針&#xff0c;所以涉及遍歷操作時&#xff0c;終止條…

RocketMQ學習(2) 深入學習

RokcetMQ的介紹和基礎知識見這篇博客——RocketMQ學習(1) 快速入門 本篇為上一篇的深入學習&#xff0c;很多基礎知識不再贅述。 目錄 消息重復消費問題(去重;冪等)布隆過濾器 重試機制死信消息 SpringBoot集成RocketMQ集成SpringBoot發送不同消息模式(同步消息)異步消息單向消…

python下載指定URL的文件

import requests # 圖片的URL地址 url https://book.pep.com.cn/1212001402143/files/mobile/1.jpg?240301113921 # 發送HTTP GET請求 response requests.get(url) # 檢查請求是否成功 if response.status_code 200: # 打開一個文件用于寫入 with open(download…

實習碰到的問題w1

1.vueelementUI在輸入框中按回車鍵會刷新頁面 當一個 form 元素中只有一個輸入框時&#xff0c;在該輸入框中按下回車應提交該表單。如果希望阻止這一默認 行為&#xff0c;可以在 <el-form> 標簽上添加 submit.native.prevent 。 參考&#xff1a;element-ui 表單 form …

使用el-tab,el-tab-pane循環使用循環后不顯示下劃線問題

在vue項目中使用element-UI el-tab里的el-tab-pane是循環出來的&#xff0c;但是循環出來后選中tab不顯示下劃線了 文章目錄 問題問題展示效果問題代碼問題原因 解決方案解決后效果解決方案1代碼 解決方案2代碼 問題 問題展示效果 問題代碼 <el-tabs v-model"activeNa…

音量的對數表示與浮點數表示

音量用浮點數&#xff08;float&#xff09;和對數&#xff08;logarithmic scale&#xff09;表示各有特點和應用場景 浮點數&#xff1a;直接使用線性刻度表示音量&#xff0c;例如在0.0&#xff08;最小音量&#xff09;到1.0&#xff08;最大音量&#xff09;的范圍內。對…

『 Linux 』緩沖區(萬字)

文章目錄 &#x1f9a6; 什么是緩沖區&#x1f9a6; 格式化輸入/輸出&#x1f9a6; 刷新策略&#x1fab6; 塊緩沖(fully buffered)&#x1fab6; 無緩沖(unbuffered)&#x1fab6; 行緩沖(line buffered) &#x1f9a6; 現象解釋&#x1f9a6; exit()與_exit()&#x1f9a6; 進…

list 的實現

目錄 list 結點類 結點類的構造函數 list的尾插尾刪 list的頭插頭刪 迭代器 運算符重載 --運算符重載 和! 運算符重載 * 和 -> 運算符重載 list 的insert list的erase list list實際上是一個帶頭雙向循環鏈表,要實現list,則首先需要實現一個結點類,而一個結點需要…

【代碼隨想錄——回溯算法——四周目】

1.重新安排行程 1.1 我的代碼&#xff0c;超時通不過 var (used []boolpath []stringres []stringisFind bool )func findItinerary(tickets [][]string) []string {sortTickets(tickets)res make([]string, len(tickets)1)path make([]string, 0)used make([]bool,…

JSON Web Token

JWT 什么是JWT JWT&#xff08;JSON Web Token&#xff09;是一種用于在各方之間作為JSON對象安全地傳輸信息的開放標準&#xff08;RFC 7519&#xff09;。該信息經過數字簽名&#xff0c;因此是可驗證和可信的。JWT 可以使用HMAC算法或使用RSA的公鑰/私鑰對進行簽名 JWT的…

微信小程序 vant Picker組件default-index不生效的解決辦法

1、原始的寫法以及問題 <van-popup show"{{ showPopup && cellClick Freq }}" position"bottom" bind:close"onPopupClose"><van-picker value-key"Spec" show-toolbar title"{{cellClick Freq ? showPcCha…

win10鍵盤按亂了,如何恢復?

今天鍵盤被寶寶給按亂了&#xff0c;好不容易給重新調整回來&#xff0c;記錄備忘&#xff1a; 1、win10的asdf和方向鍵互換了&#xff1a; 使用Fnw鍵來回切換&#xff0c;OK&#xff01; 2、鍵盤的win鍵失效&#xff0c;例如&#xff1a;按winD無法顯示桌面。此時&#xf…

Day30

Day30 CSS CSS常用樣式 font-family:“微軟雅黑” -設置字體 font-size: 50px -設置字體大小 font-style : italic-設置字體風格 font-weight:bolder -設置字體粗細 color: white-設置字體顏色 letter-spacing: 20px-設置文本內容的間隔 text-decoration :underline - 設置劃…