整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Html5 基于audio控件的浏览器和音频格式兼容

Html5 基于audio控件的浏览器和音频格式兼容性测试

个浏览器的audio控件和音频格式的兼容性各有不同。我发现网上的兼容性测试结果和实际运行的有些出入,应该是浏览器更新升级后支持了某些格式。让我们来测试一下各个浏览器的兼容性吧。

结果

兼容性测试结果

分析

现在主流浏览器(Safari除外)都支持主流的音频格式,为了照顾Safari,有损音乐使用MP3格式,无损音乐使用WAV格式。

各平台测试截图

Chrome

Firefox

IE11

Edge

Safari

Opera

非下表中的所有实体都能在所有的浏览器中正确地显示。

目前,IE 11 是唯一一个能正确显示所有 HTML5 实体的浏览器。

字符实体名称十六进制
⇚lAarr021DA
ĹLacute00139
ĺlacute0013A
⦴laemptyv029B4
ℒlagran02112
ΛLambda0039B
λlambda003BB
⟪Lang027EA
?lang027E8
⦑langd02991
⟨langle027E8
⪅lap02A85
ℒLaplacetrf02112
?laquo000AB
↞Larr0219E
?lArr021D0
larr02190
⇤larrb021E4
⤟larrbfs0291F
⤝larrfs0291D
↩larrhk021A9
↫larrlp021AB
⤹larrpl02939
⥳larrsim02973
↢larrtl021A2
⪫lat02AAB
⤛lAtail0291B
⤙latail02919
⪭late02AAD
⪭︀lates02AAD + 0FE00
⤎lBarr0290E
⤌lbarr0290C
❲lbbrk02772
{lbrace0007B
[lbrack0005B
⦋lbrke0298B
⦏lbrksld0298F
⦍lbrkslu0298D
ĽLcaron0013D
ľlcaron0013E
ĻLcedil0013B
ļlcedil0013C
?lceil02308
{lcub0007B
ЛLcy0041B
лlcy0043B
⤶ldca02936
ldquo0201C
„ldquor0201E
⥧ldrdhar02967
⥋ldrushar0294B
↲ldsh021B2
≦lE02266
le02264
⟨LeftAngleBracket027E8
←LeftArrow02190
⇐Leftarrow021D0
←leftarrow02190
⇤LeftArrowBar021E4
⇆LeftArrowRightArrow021C6
↢leftarrowtail021A2
⌈LeftCeiling02308
⟦LeftDoubleBracket027E6
⥡LeftDownTeeVector02961
⇃LeftDownVector021C3
⥙LeftDownVectorBar02959
⌊LeftFloor0230A
↽leftharpoondown021BD
↼leftharpoonup021BC
⇇leftleftarrows021C7
↔LeftRightArrow02194
⇔Leftrightarrow021D4
↔leftrightarrow02194
⇆leftrightarrows021C6
⇋leftrightharpoons021CB
↭leftrightsquigarrow021AD
⥎LeftRightVector0294E
⊣LeftTee022A3
↤LeftTeeArrow021A4
⥚LeftTeeVector0295A
⋋leftthreetimes022CB
⊲LeftTriangle022B2
⧏LeftTriangleBar029CF
⊴LeftTriangleEqual022B4
⥑LeftUpDownVector02951
⥠LeftUpTeeVector02960
↿LeftUpVector021BF
⥘LeftUpVectorBar02958
↼LeftVector021BC
⥒LeftVectorBar02952
⪋lEg02A8B
⋚leg022DA
≤leq02264
≦leqq02266
⩽leqslant02A7D
⩽les02A7D
⪨lescc02AA8
⩿lesdot02A7F
⪁lesdoto02A81
⪃lesdotor02A83
⋚︀lesg022DA + 0FE00
⪓lesges02A93
⪅lessapprox02A85
⋖lessdot022D6
⋚lesseqgtr022DA
⪋lesseqqgtr02A8B
⋚LessEqualGreater022DA
≦LessFullEqual02266
≶LessGreater02276
≶lessgtr02276
⪡LessLess02AA1
≲lesssim02272
⩽LessSlantEqual02A7D
≲LessTilde02272
⥼lfisht0297C
?lfloor0230A
𝔏Lfr1D50F
𝔩lfr1D529
≶lg02276
⪑lgE02A91
⥢lHar02962
↽lhard021BD
↼lharu021BC
⥪lharul0296A
▄lhblk02584
ЉLJcy00409
љljcy00459
⋘Ll022D8
≪ll0226A
⇇llarr021C7
⌞llcorner0231E
⇚Lleftarrow021DA
⥫llhard0296B
◺lltri025FA
ĿLmidot0013F
ŀlmidot00140
⎰lmoust023B0
⎰lmoustache023B0
⪉lnap02A89
⪉lnapprox02A89
≨lnE02268
⪇lne02A87
⪇lneq02A87
≨lneqq02268
⋦lnsim022E6
⟬loang027EC
⇽loarr021FD
⟦lobrk027E6
⟵LongLeftArrow027F5
⟸Longleftarrow027F8
⟵longleftarrow027F5
⟷LongLeftRightArrow027F7
⟺Longleftrightarrow027FA
⟷longleftrightarrow027F7
⟼longmapsto027FC
⟶LongRightArrow027F6
⟹Longrightarrow027F9
⟶longrightarrow027F6
↫looparrowleft021AB
↬looparrowright021AC
⦅lopar02985
𝕃Lopf1D543
𝕝lopf1D55D
⨭loplus02A2D
⨴lotimes02A34
?lowast02217
_lowbar0005F
↙LowerLeftArrow02199
↘LowerRightArrow02198
?loz025CA
◊lozenge025CA
⧫lozf029EB
(lpar00028
⦓lparlt02993
⇆lrarr021C6
⌟lrcorner0231F
⇋lrhar021CB
⥭lrhard0296D
?lrm0200E
⊿lrtri022BF
?lsaquo02039
ℒLscr02112
𝓁lscr1D4C1
↰Lsh021B0
↰lsh021B0
≲lsim02272
⪍lsime02A8D
⪏lsimg02A8F
[lsqb0005B
lsquo02018
‚lsquor0201A
ŁLstrok00141
łlstrok00142
≪Lt0226A
<lt0003C
<cc;ltcc02AA6
<cir;ltcir02A79
<dot;ltdot022D6
<hree;lthree022CB
<imes;ltimes022C9
<larr;ltlarr02976
<quest;ltquest02A7B
<ri;ltri025C3
<rie;ltrie022B4
<rif;ltrif025C2
<rPar;ltrPar02996
&lurdshar;lurdshar0294A
&luruhar;luruhar02966
&lvertneqq;lvertneqq02268 + 0FE00
&lvnE;lvnE02268 + 0FE00

如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!

小伙伴们,感觉我的分享很不错的别忘记“赞赏”我一下哟!

APlayer是一个简约且漂亮的HTML5音乐播放器,支持多种模式,包括播放列表模式、吸底模式

、迷你模式、MSE模式、HLS模式。





Github

https://github.com/DIYgod/APlayer

安装

使用 npm:

npm install aplayer --save

使用 Yarn:

yarn add aplayer

使用

<link rel="stylesheet" href="APlayer.min.css">
<div id="aplayer"></div>
<script src="APlayer.min.js"></script>
const ap=new APlayer({
    container: document.getElementById('aplayer'),
    audio: [{
        name: 'name',
        artist: 'artist',
        url: 'url.mp3',
        cover: 'cover.jpg'
    }]
});

或者使用模块化方式

import 'APlayer/dist/APlayer.min.css';
import APlayer from 'APlayer';

const ap=new APlayer(options);

API

  • APlayer.version: 静态属性, 返回 APlayer 的版本号
  • ap.play(): 播放音频
  • ap.pause(): 暂停音频
  • ap.seek(time: number): 跳转到特定时间,时间的单位为秒
  • ap.toggle(): 切换播放和暂停
  • ap.on(event: string, handler: function): 绑定音频和播放器事件,详情
  • ap.volume(percentage: number, nostorage: boolean): 设置音频音量
  • ap.theme(color: string, index: number): 设置播放器主题色, index 默认为当前音频的 index
  • ap.setMode(mode: string): 设置播放器模式,mode 取值应为 'mini' 或 'normal'
  • ap.mode: 返回播放器当前模式,'mini' 或 'normal'
  • ap.notice(text: string, time: number, opacity: number): 显示通知,时间的单位为毫秒,默认时间 2000 毫秒,默认透明度 0.8,设置时间为 0 可以取消通知自动隐藏
  • ap.skipBack(): 切换到上一首音频
  • ap.skipForward(): 切换到下一首音频
  • ap.destroy(): 销毁播放器
  • ap.lrc-ap.lrc.show(): 显示歌词ap.lrc.hide(): 隐藏歌词ap.lrc.toggle(): 显示/隐藏歌词
  • ap.list-ap.list.show(): 显示播放列表ap.list.hide(): 隐藏播放列表ap.list.toggle(): 显示/隐藏播放列表ap.list.add(audios: array | object): 添加一个或几个新音频到播放列表ap.list.add([{ name: 'name', artist: 'artist', url: 'url.mp3', cover: 'cover.jpg', lrc: 'lrc.lrc', theme: '#ebd0c2' }]); ap.list.remove(index: number): 移除播放列表中的一个音频ap.list.remove(1); ap.list.switch(): 切换到播放列表里的其他音频ap.list.switch(1); ap.list.clear(): 清空播放列表
  • ap.audio: 原生 audioap.audio.currentTime: 返回音频当前播放时间ap.audio.duration: 返回音频总时间ap.audio.paused: 返回音频是否暂停支持大多数原生audio接口

事件绑定

ap.on(event, handler)

ap.on('ended', function () {
    console.log('player ended');
});

音频事件

  • abort
  • canplay
  • canplaythrough
  • durationchange
  • emptied
  • ended
  • error
  • loadeddata
  • loadedmetadata
  • loadstart
  • mozaudioavailable
  • pause
  • play
  • playing
  • progress
  • ratechange
  • seeked
  • seeking
  • stalled
  • suspend
  • timeupdate
  • volumechange
  • waiting

播放器事件

  • listshow
  • listhide
  • listadd
  • listremove
  • listswitch
  • listclear
  • noticeshow
  • noticehide
  • destroy
  • lrcshow
  • lrchide

总结

APlayer是一个不错的HTML5小型音乐播放器,可以将它嵌入到自己的网页中!


上一篇:js中的整数
下一篇:应用微化架构