HTML5使用JavaScript控制<audio>音頻的播放


1.播放音樂最簡單的樣例

 <audio controls>
  <source src="horse.mp3" type="audio/mpeg">
</
audio>
audio html5中的新屬性
屬性 描述
autoplay autoplay 如果出現該屬性,則音頻在就緒后馬上播放。如果設置了該屬性,音頻將自動播放。
controls controls

controls 屬性是一個布爾屬性。

如果屬性存在,它指定音頻控件的顯示方式。音視頻控件包括:播放/暫停/進度條/音量
loop loop 如果出現該屬性,則每當音頻結束時重新開始播放。
muted muted

muted 屬性屬於邏輯屬性。

如被設置,則規定視頻輸出應該被靜音
preload auto
metadata
none

規定當網頁加載時,音頻是否默認被加載以及如何被加載。

auto - 當頁面加載后載入整個音頻

meta - 當頁面加載后只載入元數據

none - 當頁面加載后不載入音頻

src URL

src 屬性描述了音頻文件的地址 (URL)。

Ogg 文件格式的音頻,可以在 Firefox, Opera 和 Chrome 瀏覽器下播放。

如果需要在 Internet Explorer 和 Safari瀏覽器播放音頻,必須使用 MP3 文件。

如果需要兼容所有瀏覽器 - 請在<audio> 元素中使用 <source> 元素 。 <source> 元素可以鏈接到不同的音頻文件。瀏覽器將使用第一個可識別的音頻文件格式

 

source html5中的新屬性
屬性 描述
media media_query 規定媒體資源的類型,供瀏覽器決定是否下載。
src URL 規定媒體文件的 URL。
type MIME_type 規定媒體資源的 MIME 類型。

Api說明:

1.如果需要顯示緩存進度,可以參考:HTML5 Media事件

2.不能控制音頻的二進制數據,如果需要處理二進制音頻數據,參考HTML5 WebAudioAPI簡介(一)

只讀屬性
duration ---獲取媒體文件的播放時長,以s為單位,如果無法獲取則為NaN,當觸發canplay事件后就可以獲取當前總長度
startTime---返回起始播放時間,一般是0.0,除非是緩沖過的媒體文件,並一部分內容已經不再緩沖區(此屬性好像已經不可用)
paused-----判斷是否已經暫停,返回true/false
ended-----判斷是否已經播放完畢,返回true/false
error----在發生了錯誤后,返回錯誤代碼
currentSrc --以字符串的形式發揮正在播放或已經加載的文件,對應瀏覽器在source元素中選擇的文件
buffered---獲取當前緩沖區大小,返回TimeRanges對象,點擊更多參考

可控制屬性
src----指定音頻的文件位置
autoplay---是否自動播放
preload----是否預加載
loop------是否循環播放
controls----顯示或隱藏用戶控制界面
autobuffer---媒體文件播放前是否進行緩沖加載,如果設置了autoplay,則忽略此特性(此屬性好像已經不可用)
muted------設置是否靜音
volume ----在0.0到1.0間的音量值,或查詢當前音量值
currentTime--以s為單位返回從開始播放到目前所花的時間,也可設置currentTime的值來跳轉到特定位置

方法
load() ---加載音頻、視頻軟件
paly() ---播放
pause()---暫停
canPlayType(obj) ----測試飯后指定指定的Mime類型的文件

事件
loadstart ---客戶端開始請求數據
progress----正在播放的時候不停觸發,如果暫停不會觸發,觸發的時間間隔比較大
play------play()和autopaly播放時,類似事件onplaying
pause-----pause()方法觸發時
ended-----當結束播放時
timeupdate----當前播放時間發生改變的時候,播放中常用的時間處理,如果暫停不會觸發,觸發的時間間隔比較小
canplaythrough---歌曲已經載入完成
canplay -----緩沖至可播放狀態,類似事件onloadedmetadata
onloadedmetadata----當元數據(比如分辨率和時長)被加載時運行的腳本

原文鏈接:http://caibaojian.com/html5-audio.html

Audio 對象屬性

屬性 描述
audioTracks 返回表示可用音頻軌道的 AudioTrackList 對象。
autoplay 設置或返回是否在就緒(加載完成)后隨即播放音頻。
buffered 返回表示音頻已緩沖部分的 TimeRanges 對象。
controller 返回表示音頻當前媒體控制器的 MediaController 對象。
controls 設置或返回音頻是否應該顯示控件(比如播放/暫停等)。
crossOrigin 設置或返回音頻的 CORS 設置。
currentSrc 返回當前音頻的 URL。
currentTime 設置或返回音頻中的當前播放位置(以秒計)。
defaultMuted 設置或返回音頻默認是否靜音。
defaultPlaybackRate 設置或返回音頻的默認播放速度。
duration 返回音頻的長度(以秒計)。
ended 返回音頻的播放是否已結束。
error 返回表示音頻錯誤狀態的 MediaError 對象。
loop 設置或返回音頻是否應在結束時再次播放。
mediaGroup 設置或返回音頻所屬媒介組合的名稱。
muted 設置或返回是否關閉聲音。
networkState 返回音頻的當前網絡狀態。
paused 設置或返回音頻是否暫停。
playbackRate 設置或返回音頻播放的速度。
played 返回表示音頻已播放部分的 TimeRanges 對象。
preload 設置或返回音頻的 preload 屬性的值。
readyState 返回音頻當前的就緒狀態。
seekable 返回表示音頻可尋址部分的 TimeRanges 對象。
seeking 返回用戶當前是否正在音頻中進行查找。
src 設置或返回音頻的 src 屬性的值。
textTracks 返回表示可用文本軌道的 TextTrackList 對象。
volume 設置或返回音頻的音量。

Audio 對象方法

方法 描述
addTextTrack() 向音頻添加新的文本軌道。
canPlayType() 檢查瀏覽器是否能夠播放指定的音頻類型。
fastSeek() 在音頻播放器中指定播放時間。
getStartDate() 返回新的 Date 對象,表示當前時間線偏移量。
load() 重新加載音頻元素。
play() 開始播放音頻。
pause() 暫停當前播放的音頻。
<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title></title> 
</head>
<body>
<audio id='enter'>
  <source src="deposit2.mp3"  type="audio/mpeg">
您的瀏覽器不支持 audio 元素。
</audio>
    <button onclick='enter()'>音效</button>
</body>
</html>
<script>
function enter(){
     var audio = document.getElementById("enter");
    audio.play()
}
</script>
簡單實例

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM