Baseline Widely available *
<audio>
㯠HTML ã®è¦ç´ ã§ãææ¸å
ã«é³å£°ã³ã³ãã³ããåãè¾¼ãããã«ä½¿ç¨ãã¾ãããã®è¦ç´ ã¯ã1 ã¤ã¾ãã¯è¤æ°ã®é³æºãå«ããã¨ãã§ãã¾ãã鳿ºã¯ src
屿§ã¾ã㯠<source>
è¦ç´ ã使ç¨ãã¦è¡¨ãããã©ã¦ã¶ã¼ããã£ã¨ãé©åãªé³æºã鏿ãã¾ããã¾ãã MediaStream
ã使ç¨ãã¦ã¹ããªã¼ãã³ã°ã¡ãã£ã¢ãæã示ããã¨ãã§ãã¾ãã
<figure>
<figcaption>T-Rex ã®å£°ãè´ãã:</figcaption>
<audio controls src="/shared-assets/audio/t-rex-roar.mp3"></audio>
<a href="/shared-assets/audio/t-rex-roar.mp3"> Download audio </a>
</figure>
ä¸è¨ã®ä¾ã¯ã <audio>
è¦ç´ ã®åºæ¬çãªä½¿ç¨æ¹æ³ã示ãã¦ãã¾ãã <img>
è¦ç´ ã¨åæ§ã®æ¹æ³ã§ãåãè¾¼ã¿ããã¡ãã£ã¢ã¸ã®ãã¹ã src
屿§ã«è¨å®ãã¾ããä»ã«ãèªååçãç¹°ãè¿ããè¡ããã©ããããã©ã¦ã¶ã¼ã®æ¢å®ã®ãªã¼ãã£ãªã³ã³ããã¼ã«ã表示ããããã©ããããªã©ã®æ
å ±ãæå®ãã屿§ãå«ãããã¨ãã§ãã¾ãã
éå§ããã³çµäºã¿ã° <audio></audio>
ã®ä¸ã®ã³ã³ãã³ãã¯ããã®è¦ç´ ã«å¯¾å¿ãã¦ãªããã©ã¦ã¶ã¼ã§ä»£æ¿è¡¨ç¤ºããã¾ãã
ãã®è¦ç´ ã«ã¯ã°ãã¼ãã«å±æ§ãããã¾ãã
autoplay
è«ç屿§ãæå®ãããå ´åãé³å£°ãã¡ã¤ã«å ¨ä½ã®ãã¦ã³ãã¼ãã®å®äºãå¾ ããã«ãåçå¯è½ãªç¶æ ã«ãªã£ãæç¹ã§å³åº§ã«ã³ã³ãã³ãã®åçãå§ã¾ãã¾ãã
ã¡ã¢: èªåçã«é³å£°ï¼ãããã¯é³å£°ãã©ãã¯ãå«ãåç»ï¼ãåçãããµã¤ãã¯ã¦ã¼ã¶ã¼ã«ã¨ã£ã¦ä¸å¿«ãªä½é¨ã«ãªãå¯è½æ§ãããã¾ãã®ã§ãå¯è½ãªéãé¿ããã¹ãã§ããèªååçæ©è½ãå¿ é ã§ããå ´åã¯ããªããã¤ã³ï¼ã¦ã¼ã¶ã¼ãæç¤ºçã«æå¹åãããã¨ãæ±ããï¼ã«ããã¹ãã§ãããã ããã¦ã¼ã¶ã¼ã®å¶å¾¡ä¸ã§å¾ããã½ã¼ã¹ãè¨å®ããã¡ãã£ã¢è¦ç´ ã使ããã¨ãã¯ããã®æ¹æ³ãå½¹ã«ç«ã¤ã§ããããèªååçã¬ã¤ãã«ã¯ autoplay ã®æ£ããä½¿ãæ¹ã«ã¤ãã¦ã®è¿½å æ å ±ãããã¾ãã
controls
ãã®å±æ§ãæå®ãããå ´åããã©ã¦ã¶ã¼ã¯åçã»ä¸æåæ¢ãé³éãã·ã¼ã¯ã®åæ©è½ãå¶å¾¡ããã³ã³ããã¼ã«ã表示ãã¾ãã
controlslist
controlslist
屿§ã¯ãæå®ãããå ´åããã©ã¦ã¶ã¼ãèªåèªèº«ã§ä¸é£ã®ã³ã³ããã¼ã«ã表示ããã¨ãï¼ã¤ã¾ãã controls
屿§ãæå®ãããã¨ãï¼ã audio
è¦ç´ ã«ã©ã®ãããªã³ã³ããã¼ã«ã表示ãããã鏿ããã®ãæ¯æ´ãã¾ãã
åããã¨ãã§ããå¤ã¯ nodownload
ãnofullscreen
ãnoremoteplayback
ã§ãã
crossorigin
ãã®åæåã®å±æ§ã¯ãé¢é£ããé³å£°ãã¡ã¤ã«ãåå¾ããéã« CORS ã使ç¨ãããã示ãã¾ããCORS ãæå¹ãªãªã½ã¼ã¹ ã¯ãæ±æããããã¨ãªã <canvas>
è¦ç´ ã§åå©ç¨ã§ãã¾ããæ¬¡ã®å¤ã使ç¨ã§ãã¾ã:
anonymous
è³æ ¼æ
å ±ãä¼´ããã«ãªãªã¸ã³éãªã¯ã¨ã¹ããå®è¡ãã¾ããããªãã¡ã Cookie ã X.509 è¨¼ææ¸ããªã Origin:
HTTP ãããã¼ãéä¿¡ãããã HTTP ãã¼ã·ãã¯èªè¨¼ãè¡ã£ãããã¾ããããµã¼ãã¼ãå
ã®ãµã¤ãã«ä¿¡ç¨æ
å ±ãä»ä¸ããªãå ´å (Access-Control-Allow-Origin:
HTTP ãããã¼ã®è¨å®ãªã)ãç»åãæ±æããããã®ä½¿ç¨ãå¶éããã¾ãã
use-credentials
è³æ ¼æ
å ±ãä¼´ã£ã¦ãªãªã¸ã³éãªã¯ã¨ã¹ããå®è¡ãã¾ããããªãã¡ãCookie ã X.509 è¨¼ææ¸ãä¼´ã Origin:
HTTP ãããã¼ãéä¿¡ãããããã㯠HTTP ãã¼ã·ãã¯èªè¨¼ãè¡ãã¾ãããµã¼ãã¼ãå
ã®ãµã¤ãã«ä¿¡ç¨æ
å ±ãä»ä¸ããªãå ´å (Access-Control-Allow-Credentials:
HTTP ãããã¼ã«é¢ããã)ãç»åãæ±æããããã®ä½¿ç¨ãå¶éããã¾ãã
ãã®å±æ§ãåå¨ããªãå ´åããªã½ã¼ã¹ã¯ CORS ãªã¯ã¨ã¹ããªãã§ (ããªãã¡ã Origin:
HTTP ãããã¼ãªãã§) åå¾ããã <canvas>
è¦ç´ ã§ã®æ±æãããªã使ç¨ã妨ãããã¾ãããããç¡å¹ãªå ´åãåæåã®ãã¼ã¯ã¼ãã« anonymous ãæå®ããããã®ã¨ãã¦æ±ããã¾ãã追å ã®æ
å ±ã¯ CORS è¨å®å±æ§ãåç
§ãã¦ãã ããã
disableremoteplayback
è«ç屿§ã§ãæç· (HDMI, DVI, ãªã©) ãç¡ç·æè¡ (Miracast, Chromecast, DLNA, AirPlay, ãªã©) ã§æ¥ç¶ãããæ©å¨ã®ãªã¢ã¼ãåçæ©è½ãç¡å¹ã«ããããã«ä½¿ç¨ãã¾ãã詳ããã¯ãã®ææ¡ä¸ã®ä»æ§æ¸ãã覧ãã ããã
Safari ã§ã¯ã代æ¿ã¨ã㦠x-webkit-airplay="deny"
ã使ç¨ãããã¨ãã§ãã¾ãã
loop
è«çåã®å±æ§ã§ããæå®ãããå ´åãé³å£°ãã¬ã¤ã¤ã¼ã¯é³å£°ã®æ«å°¾ã«éããã¨ãèªåçã«å é ã«æ»ãã¾ãã
muted
è«çåã®å±æ§ã§ãé³å£°ã®æ¢å®ã®è¨å®ã示ãã¾ãããã®å±æ§ãè¨å®ããã¨ãåæç¶æ
ãæ¶é³ã«ãªãã¾ããæ¢å®å¤ã¯ false
ã§ãã
preload
åæåã®å±æ§ã§ãã¦ã¼ã¶ã¼ã«åã£ã¦æè¯ã®çµæãããããã¨ä½è ãèãã¦ãããã¨ã®ãã³ãããã©ã¦ã¶ã¼ã«ä¼ããããã®ãã®ã§ãã以ä¸ã®å¤ã®ãã¡ã²ã¨ã¤ãæã¤ãã¨ãã§ãã¾ãã
none
: é³å£°ãäºåã«èªã¿è¾¼ãã¹ãã§ã¯ãªããã¨ã示ãã¾ããmetadata
: é³å£°ã®ã¡ã¿ãã¼ã¿ (ä¾ãã°ãé·ã) ãèªã¿è¾¼ã¿ã¾ããauto
: ã¦ã¼ã¶ã¼ãé³å£°ãã¡ã¤ã«ã使ç¨ããªãã¨æãããå ´åã§ãããã¡ã¤ã«å
¨ä½ããã¦ã³ãã¼ããã¦ãããã¨ã示ãã¾ããauto
å¤ã¨å義ã§ããæ¢å®å¤ã¯ãã©ã¦ã¶ã¼ã«ãã£ã¦ç°ãªãã¾ãã仿§æ¸ã§ã¯ metadata
ã«ããããå©è¨ãã¦ãã¾ãã
ã¡ã¢:
autoplay
屿§ã¯ preload
ããåªå
ãã¾ããautoplay
ãæå®ããã¨ãè¨ãã¾ã§ããªããã©ã¦ã¶ã¼ã¯é³å£°ãåçããããã«ãã¦ã³ãã¼ããå§ããªããã°ãªãã¾ãããsrc
åãè¾¼ãé³å£°ã³ã³ãã³ãã® URL ãæå®ãã¾ãããã®å±æ§ã¯ HTTP ã¢ã¯ã»ã¹å¶å¾¡ã«å¾ãã¾ããããã¯ãªãã·ã§ã³ã§ãã代ããã« <source>
è¦ç´ ã audio ãããã¯å
ã§ä½¿ç¨ãã¦ãåãè¾¼ãé³å£°ãæå®ãããã¨ãã§ãã¾ãã
audioprocess
ScriptProcessorNode
ã®å
¥åãããã¡ã¼ã®å¦çã®æºåãã§ããã canplay
ãã©ã¦ã¶ã¼ãã¡ãã£ã¢ãåçã§ããããã«ãªã£ããã®ã®ã追å ã®ãããã¡ãªã³ã°ã®ããã«åæ¢ãããã¨ãªãã¡ãã£ã¢ã®æå¾ã¾ã§åçããã«ã¯ãå
åãªãã¼ã¿ãèªã¿è¾¼ã¾ãã¦ããªãã¨ã¿ãããã canplaythrough
ãã©ã¦ã¶ã¼ãã³ã³ãã³ãã®ãããã¡ãªã³ã°ã®ããã«åæ¢ãããã¨ãªãæå¾ã¾ã§ã¡ãã£ã¢ãåçãããã¨ãã§ããã¨ã¿ãããã complete
OfflineAudioContext
ã®ã¬ã³ããªã³ã°ãçµäºããã durationchange
duration
屿§ãæ´æ°ãããã emptied
ã¡ãã£ã¢ã空ã«ãªã£ããä¾ãã°ããã®ã¤ãã³ãã¯ã¡ãã£ã¢ããã§ã«èªã¿è¾¼ã¾ãã (ã¾ãã¯é¨åçã«èªã¿è¾¼ã¾ãã) ç¶æ
ã§ãåèªã¿è¾¼ã¿ã®ããã« HTMLMediaElement.load
ã¡ã½ãããå¼ã³åºãããå ´åãªã©ã ended
ã¡ãã£ã¢ã®æ«å°¾ã«éããããã«åçã忢ããã loadeddata
ã¡ãã£ã¢ã®æåã®ãã¬ã¼ã ãèªã¿è¾¼ã¿çµãã£ãã loadedmetadata
ã¡ã¿ãã¼ã¿ãèªã¿è¾¼ã¿çµããã loadstart
ãã©ã¦ã¶ã¼ããªã½ã¼ã¹ã®èªã¿è¾¼ã¿ãå§ããã¨ãã«çºçãã¾ãã pause
åçã䏿忢ããã play
åçãå§ã¾ã£ãã playing
ãã¼ã¿ããªããªã£ãããã«ä¸æåæ¢ã¾ãã¯é
å»¶ããå¾ã§ãåçã®åéã®æºåãã§ããã ratechange
åçã¬ã¼ãã夿´ãããã seeked
ã·ã¼ã¯æä½ãå®äºããã seeking
ã·ã¼ã¯ææ»ãå§ã¾ã£ãã stalled
ã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ããã¡ãã£ã¢ãèªã¿è¾¼ããã¨ãã¦ãããããã¼ã¿ãäºæããã«å
¥ã£ã¦ããªãã suspend
ã¡ãã£ã¢ãã¼ã¿ã®èªã¿è¾¼ã¿ã忢ããã timeupdate
currentTime
屿§ã§ç¤ºããã¦ããæå»ãæ´æ°ãããã volumechange
é³éã夿´ãããã waiting
䏿çãªãã¼ã¿ã®ä¸è¶³ã«ãããåçã忢ããã 使ç¨ä¸ã®æ³¨æ
ãã©ã¦ã¶ã¼ã¯ãã¹ã¦ãåããã¡ã¤ã«å½¢å¼ãé³å£°ã³ã¼ããã¯ã«å¯¾å¿ãã¦ããããã§ã¯ããã¾ãããå
é¨ã«å«ãããã <source>
è¦ç´ ã§è¤æ°ã®ã½ã¼ã¹ãæä¾ãããã¨ãã§ãããã©ã¦ã¶ã¼ã¯çè§£ã§ããæåã®ãã®ã使ç¨ãã¾ãã
<audio controls>
<source src="myAudio.mp3" type="audio/mpeg" />
<source src="myAudio.ogg" type="audio/ogg" />
<p>
Download <a href="myAudio.mp3" download="myAudio.mp3">MP3</a> or
<a href="myAudio.ogg" download="myAudio.ogg">OGG</a> audio.
</p>
</audio>
é³å£°ã½ã¼ã¹ã«ã¯ãæå¹ãª URL ãè¨å®ãããã¨ãã§ãã¾ããããã«ã¯ HTTP(S) ã® URL ããã¼ã¿ URL ãå«ã¿ã¾ãã HTTP(S) ã® URL ã使ç¨ããå ´åããã©ã¦ã¶ã¼ã®ãã£ãã·ã¥åä½ãããµã¼ãã¼ãããã¡ã¤ã«ããªã¯ã¨ã¹ããããé »åº¦ã«å½±é¿ãããã¨ã«æ³¨æãã¦ãã ããããã¼ã¿ URL ã¯é³å£°ãã¼ã¿ãç´æ¥ HTML ã«åãè¾¼ã¿ã¾ããããã¯å°ããªé³å£°ãã¡ã¤ã«ã®å ´åã«ã¯æçãªä½¿ç¨ãããã¨ãã§ãã¾ããã大ããªé³å£°ãã¡ã¤ã«ã®å ´åã«ã¯ HTML ãã¡ã¤ã«ãµã¤ãºã大ãããªããããæ¨å¥¨ããã¾ããã
<source>
è¦ç´ ã使ç¨ãã¦ããå ´åããã©ã¦ã¶ã¼ã¯ããããã®ã½ã¼ã¹ãé çªã«èªã¿è¾¼ã¿ã¾ããã½ã¼ã¹ã失æããå ´å ï¼URL ãç¡å¹ãã¾ãã¯å¯¾å¿ãã¦ããªãå½¢å¼ã®å ´åãªã©ï¼ã次ã®ã½ã¼ã¹ã試ããã¾ãããã¹ã¦ã®ã½ã¼ã¹ã失æããã¨ã <audio>
è¦ç´ ã§ error
ã¤ãã³ããçºçãã¾ãã error
ã¤ãã³ãã¯ãåã
ã® <source>
è¦ç´ ã§ã¯çºçãã¾ããã
ã¾ããã¦ã§ããªã¼ãã£ãª API ã使ç¨ãããã¨ã§ãæ¢åã®é³å£°ãã¡ã¤ã«ãã¹ããªã¼ãã³ã°ããã®ã§ã¯ãªãã JavaScript ã³ã¼ãããç´æ¥é³å£°ã¹ããªã¼ã ãçæããæä½ãããã¨ãã§ãã¾ãã JavaScript ã§ srcObject
ã MediaStream
ãªãã¸ã§ã¯ãã«è¨å®ãããã¨ãã§ãã¾ããããã¯ã©ã¤ãé³å£°ã¹ããªã¼ã ããªã¢ã«ã¿ã¤ã é³å£°å¦çã«ä½¿ç¨ããã®ãä¸è¬çã§ãã
const audioElement = document.querySelector("audio");
navigator.mediaDevices
.getUserMedia({ audio: true })
.then((stream) => {
audioElement.srcObject = stream;
})
.catch((error) => {
console.error("ãã¤ã¯ã¸ã®ã¢ã¯ã»ã¹ã§ã¨ã©ã¼ãçºçãã¾ãã", error);
});
ãªãã MediaStream
ã½ã¼ã¹ã«ã¯å¶éããããã¨ã«æ³¨æãã¦ãã ããã MediaStream
ã½ã¼ã¹ã¯ã·ã¼ã¯ãããã¨ãã§ãããéãããã³ã¼ããã¯è¨å®ã«ãã対å¿ãã¦ãã¾ããã
ç§ãã¡ã¯å¤§éã®ç¶¿å¯ãªã¡ãã£ã¢ãã¡ã¤ã«å½¢å¼ã¨ãã®ä¸ã§ä½¿ç¨ãããã¨ãã§ããé³å£°ã³ã¼ããã¯ã®ã¬ã¤ããæä¾ãã¦ãã¾ããã¾ããåç»ã§å¯¾å¿ãã¦ããã³ã¼ããã¯ã®ã¬ã¤ããå©ç¨ãããã¨ãã§ãã¾ãã
ä»ã®ä½¿ç¨ä¸ã®ã¡ã¢:
controls
屿§ãæå®ããªãå ´åãé³å£°ãã¬ã¤ã¤ã¼ã¯ãã©ã¦ã¶ã¼ã®æ¢å®ã®ã³ã³ããã¼ã«ãå«ãã¾ããã JavaScript 㨠HTMLMediaElement
API ã使ç¨ãã¦ãç¬èªã®ã«ã¹ã¿ã ã³ã³ããã¼ã«ã使ãããã¨ãã§ãã¾ããHTMLMediaElement
ã¯ãã¾ãã¾ãªã¤ãã³ããçºè¡ãã¾ããããã¯é³å£°ã®èªã¿è¾¼ã¿ããã»ã¹ãç£è¦ããæ¹æ³ãæä¾ããã®ã§ãã¨ã©ã¼ãç£è¦ããããåçãææ»ãå§ãããã¨ãã§ããããã«ãªã£ããã¨ãæ¤åºããããããã¨ãã§ãã¾ãã<audio>
è¦ç´ 㯠<video>
è¦ç´ ã¨åããããªæ¹æ³ã§åå¹ãæã¤ãã¨ãã§ãã¾ããã Ian Devlin ã«ãã WebVTT and Audio ã§ãå½¹ç«ã¤æ
å ±ã使¥ãããã¾ãã<audio>
ã <notanaudio>
ã®ãããªåå¨ããªãè¦ç´ ã«ç½®ãæãããã¨ã§è¡ããã¨ãã§ãã¾ããHTML ã® <audio>
è¦ç´ ã®ä½¿ç¨ã«é¢ããè¯ãæ
å ±æºã¨ãã¦ã HTML åç»ããã³é³å£°ã®åå¿è
åããã¥ã¼ããªã¢ã«ãããã¾ãã
<audio>
è¦ç´ ã¯æ¢å®ã§ã¯åºæã®è¦è¦çãªåºåãæã¡ã¾ãããã controls
屿§ãæå®ãããã¨ããã©ã¦ã¶ã¼ã®æ¨æºã®ã³ã³ããã¼ã«ã表示ããã¾ãã
æ¢å®ã®ã³ã³ããã¼ã«ã¯ display
ã®å¤ã«æ¢å®ã§ inline
ãæã£ã¦ãããããã¹ããããã¯ãªã©ã®ä¸ã«ç½®ãã¦ããããå ´åã§ãªãéããé
ç½®ãã¬ã¤ã¢ã¦ããå¶å¾¡ããããããããã«ãå¤ã block
ã«è¨å®ãããã¨ã¯ãå¤ãã®å ´åã¯è¯ãèãã§ãã
æ¢å®ã®ã³ã³ããã¼ã«ã¯ããããã¯ãåä½ã¨ãã¦ã¦å½±é¿ããããããã£ã§ã¹ã¿ã¤ã«ä»ããããã¨ãã§ããã®ã§ã border
ã border-radius
ãpadding
ãmargin
çãæå®ãããã¨ãã§ãã¾ããããããé³å£°ãã¬ã¤ã¤ã¼å
ã®åå¥ã®ã³ã³ãã¼ãã³ãã¯ã¹ã¿ã¤ã«ä»ããããã¨ãã§ãã (ä¾ãã°ããã¿ã³ã®å¯¸æ³ãã¢ã¤ã³ã³ã®å¤æ´ããã©ã³ãã®å¤æ´ãªã©)ãã¾ãã³ã³ããã¼ã«ã¯ãã©ã¦ã¶ã¼ãã¨ã«ç°ãªãã¾ãã
ãã©ã¦ã¶ã¼éã§ä¸è²«ããã«ãã¯ï¼ãã£ã¼ã«ãå®ç¾ããã«ã¯ãã«ã¹ã¿ã ã³ã³ããã¼ã«ã使ããå¿
è¦ãããã§ããããããã¯å¥½ããªæ¹æ³ã§ãã¼ã¯ã¢ããããã³ã¹ã¿ã¤ã«ä»ãããããã¨ãã§ãã JavaScript 㨠HTMLMediaElement
API ã使ç¨ãããã¨ã§ããããã®æ©è½ãçµåãããã¨ãã§ãã¾ãã
åç»ãã¬ã¤ã¤ã¼ã®ã¹ã¿ã¤ã«ä»ãã®åºæ¬ã¯ã便å©ãªã¹ã¿ã¤ã«ä»ããã¯ããã¯ãããã¤ãç´¹ä»ãã¦ãã¾ãããã㯠<video>
ã®æèã§æ¸ããããã®ã§ãããå¤ã㯠<audio>
ã«ãåæ§ã«é©ç¨ããã¾ãã
addtrack
ããã³ removetrack
ã¤ãã³ããç¨ããã¨ã <audio>
è¦ç´ ã§ãã©ãã¯ã追å ããããåé¤ãããããããã¨ãæ¤åºãããã¨ãã§ãã¾ãããããããããã®ã¤ãã³ã㯠<audio>
è¦ç´ èªèº«ã«ç´æ¥éä¿¡ãããããã§ã¯ããã¾ããã代ããã«ã <audio>
ã® HTMLMediaElement
å
ã«ãããè¦ç´ ã«è¿½å ããããã©ãã¯ã®ç¨®é¡ã«å¯¾å¿ãããã©ãã¯ãªã¹ããªãã¸ã§ã¯ãã«éä¿¡ããã¾ãã
HTMLMediaElement.audioTracks
ã¡ãã£ã¢è¦ç´ ã®ãªã¼ãã£ãªãã©ãã¯ã®ãã¹ã¦ãå«ã AudioTrackList
ã§ãã addtrack
ã®ãªã¹ãã¼ããã®ãªãã¸ã§ã¯ãã«è¿½å ããã¨ãæ°ãããªã¼ãã£ãªãã©ãã¯ãè¦ç´ ã«è¿½å ãããæã«éç¥ãåãåããã¨ãã§ãã¾ãã
HTMLMediaElement.videoTracks
addtrack
ãªã¹ãã¼ããã® VideoTrackList
ãªãã¸ã§ã¯ãã«è¿½å ãããã¨ã§ãè¦ç´ ã«åç»ãã©ãã¯ã追å ãããã¨ãã«éç¥ãåãåããã¨ãã§ãã¾ãã
HTMLMediaElement.textTracks
addtrack
ãªã¹ãã¼ããã® TextTrackList
ãªãã¸ã§ã¯ãã«è¿½å ãããã¨ã§ãè¦ç´ ã«ããã¹ããã©ãã¯ã追å ãããã¨ãã«éç¥ãåãåããã¨ãã§ãã¾ãã
ã¡ã¢: <audio>
è¦ç´ ã§ãã£ã¦ããåç»ãããã¹ããã©ãã¯ãªã¹ããæã£ã¦ãããã¤ã³ã¿ã¼ãã§ã¤ã¹ã®å®è£
ã®ä»æ§ãå¥å¦ã«è¦ãã¾ãããå®éã«åç»ã表示ããããã«ä½¿ç¨ãããã¨ãã§ãã¾ãã
ä¾ãã°ã次ã®ãããªã³ã¼ãã§ <audio>
è¦ç´ ã§é³å£°ãã©ãã¯ã追å ããããåé¤ããããããã¨ããæ¤åºãããã¨ãã§ãã¾ãã
const elem = document.querySelector("audio");
elem.audioTrackList.onaddtrack = (event) => {
trackEditor.addTrack(event.track);
};
elem.audioTrackList.onremovetrack = (event) => {
trackEditor.removeTrack(event.track);
};
ãã®ã³ã¼ãã¯é³å£°ãã©ãã¯ãè¦ç´ ã§è¿½å ããã³åé¤ããããã¨ãç£è¦ãããã©ãã¯ã¨ãã£ã¿ã¼ã®è«ç颿°ãå¼ã³åºããã¨ã§ãã¨ãã£ã¿ã¼ã«ãããå©ç¨ã§ãããã©ãã¯ã®ä¸è¦§ã§ãã©ãã¯ãç»é²ãåé¤ãè¡ãã¾ãã
addEventListener()
ã使ç¨ã㦠addtrack
ããã³ removetrack
ã¤ãã³ãå¾
ã¡åããããã¨ãã§ãã¾ãã
å°è©ã®ããé³å£°ã«ã¯ãå®éã«ã³ã³ãã³ãã説æããåå¹ã¨æååæ å ± (transcript) ãæä¾ããã¹ãã§ãã WebVTT ã使ç¨ãã¦åå¹ãæå®ããã¨ãè´åã失ã£ã人ããé³å£°ã®åçæã«é³å£°ã®å 容ãçè§£ããäºãã§ããããã«ãªãã®ã«å¯¾ããæååæ å ±ã使ç¨ããã¨ãé²é³ãããã³ã³ãã³ããçè§£ããã®ã«æéãæãã人ããèªåã«åã£ããã¼ã¹ã¨æ¸å¼ã§é²é³ã®å 容ã確èªã§ããããã«ãªãã¾ãã
èªååå¹ãµã¼ãã¹ã使ç¨ããã¦ããå ´åã¯ãçæãããã³ã³ãã³ããå ã®é³å£°ãæ£ãã表ç¾ãã¦ãããã確èªãããã¨ãéè¦ã§ãã
<audio>
è¦ç´ ã¯ç´æ¥ WebVTT ã«å¯¾å¿ãã¦ãã¾ãããæ©è½ãæä¾ããã©ã¤ãã©ãªã¼ã¾ãã¯ãã¬ã¼ã ã¯ã¼ã¯ãæ¢ãããåå¹ã表示ããã³ã¼ããèªåèªèº«ã§æ¸ããããå¿
è¦ãããã¾ããä¸ã¤ã®é¸æè¢ã¨ãã¦ã <video>
è¦ç´ ã WebVTT ã«å¯¾å¿ãã¦ããã®ã§ãããã§é³å£°ãåçããã¨ãããã®ãããã¾ãã
åå¹ãæååæ å ±ã§ã¯ã話ãããã»ãªãã«å ãã¦ãéè¦ãªæ å ±ãä¼ãã鳿¥½ãé³é¿å¹æãèå¥ã§ããããã«ãã¦ãã ãããããã«ã¯ææ ãå£èª¿ãå«ã¿ã¾ããä¾ãã°ã以ä¸ã® WebVTT ã§ã¯ãè§æ¬å¼§ã使ç¨ãã¦å£èª¿ãææ ãé²è¦§è ã«ç¤ºãã¦ãã¾ããããã«ãã£ã¦é³æ¥½ãç©é³ã广é³ãªã©ã®é°å²æ°ã確ç«ããã®ã«å½¹ç«ã¡ã¾ãã
1 00:00:00 --> 00:00:45 [ã¨ãã«ã®ããã¯ãªãã¯ã鳿¥½] 2 00:00:46 --> 00:00:51 ã¿ã¤ã ãã¼ãã¼ã®ããããã£ã¹ãã®ããããï¼ãã®ã¨ãã½ã¼ãã§ã¯ãç§ãã¡ã¯ã©ã¡ãã®ã¹ã¤ã¹æè¨ãè æè¨ããè°è«ãã¾ãï¼ 16 00:00:52 --> 00:01:02 [ç¬ã] ãããï¼è¨ãããã£ãã®ã¯ãã©ã®è æè¨ãã¹ã¤ã¹ã®è æè¨ãï¼ã§ãã
ã¾ãã <audio>
è¦ç´ ã«å¯¾å¿ãã¦ããªããã©ã¦ã¶ã¼ã使ç¨ãã¦ããé²è¦§è
åãã®ãã©ã¼ã«ããã¯ã¨ãã¦ããããã®ã³ã³ãã³ã (ç´æ¥ãã¦ã³ãã¼ããããªã³ã¯ãªã©) ãæä¾ããã®ã¯è¯ãç¿æ
£ã§ãã
<audio controls>
<source src="myAudio.mp3" type="audio/mpeg" />
<source src="myAudio.ogg" type="audio/ogg" />
<p>
<a href="myAudio.mp3">MP3</a> ã¾ã㯠<a href="myAudio.ogg" download="myAudio.ogg">OGG</a> ã®é³å£°ããã¦ã³ãã¼ããã¦ãã ããã
</p>
</audio>
以ä¸ã®ä¾ã¯ <audio>
è¦ç´ ã§ OGG ãã¡ã¤ã«ãåçããåç´ãªä¾ã示ãã¦ãã¾ãããã¼ã¸ã§è¨±å¯ããã¦ããã°ã autoplay
屿§ã«ãã£ã¦èªååçããã代æ¿ã³ã³ãã³ããå«ãã§ãã¾ãã
<!-- ã·ã³ãã«ãªé³å£°åç -->
<audio src="AudioTest.ogg" autoplay>
<a href="AudioTest.ogg" download="AudioTest.ogg">OGG é³å£°ããã¦ã³ãã¼ããã¦ãã ãã</a>ã
</audio>
ãã¤èªååçãåä½ããã®ããèªååçã使ç¨ãã許å¯ã®å徿¹æ³ããã¤ã©ã®ããã«èªååçã使ç¨ããã®ãé©åã§ããã®ãã«ã¤ãã¦ã¯ãèªååçã¬ã¤ããã覧ãã ããã
<source> è¦ç´ ãä¼´ã <audio> è¦ç´ãã®ä¾ã§ã¯ãåãè¾¼ã¾ããé³å£°ãã©ãã¯ãã <audio>
è¦ç´ ã®ç´æ¥ã® src
屿§ã§ã¯ãªããå
é¨ã® <source>
è¦ç´ ã®ãã®ã使ç¨ãã¦æå®ãã¦ãã¾ãããã㯠type
屿§ã®ä¸ã§ãã¡ã¤ã«ã® MIME ã¿ã¤ããå«ãããã¨ã§ããã©ã¦ã¶ã¼ããã®ãã¡ã¤ã«ãåçã§ãããã©ãããç¥ããã¨ãã§ãããã®ãã¡ã¤ã«åçã§ããªãã¨ãã«æéãæµªè²»ãã¾ããã
<audio controls>
<source src="foo.wav" type="audio/wav" />
<a href="foo.wav" download="foo.wav">WAV é³å£°ããã¦ã³ãã¼ããã¦ãã ãã</a>ã
</audio>
è¤æ°ã® <source> è¦ç´ ãæã¤ <audio>
ãã®ä¾ã«ã¯è¤æ°ã® <source>
è¦ç´ ãããã¾ãããã©ã¦ã¶ã¼ã¯ãæåã® source è¦ç´ (Opus) ãåçå¯è½ã§ããã°ãããèªã¿è¾¼ããã¨ããããã§ãªããã° 2 ã¤ç® (Vorbis) ã«ãæå¾ã« MP3 ã«ãã©ã¼ã«ããã¯ãã¾ãã
<audio controls>
<source src="foo.opus" type="audio/ogg; codecs=opus" />
<source src="foo.ogg" type="audio/ogg; codecs=vorbis" />
<source src="foo.mp3" type="audio/mpeg" />
</audio>
æè¡çæ¦è¦ ã³ã³ãã³ãã«ãã´ãªã¼ ããã¼ã³ã³ãã³ããè¨è¿°ã³ã³ãã³ããåãè¾¼ã¿ã³ã³ãã³ãã controls
屿§ãããå ´åã¯ã対話åã³ã³ãã³ãã¨ç¥è¦å¯è½ã³ã³ãã³ãã 許å¯ããã¦ããå
容 è¦ç´ ã src
屿§ãæã¤å ´å: 0 å以ä¸ã® <track>
è¦ç´ ã¨ããã«ç¶ããã¡ãã£ã¢è¦ç´ ãå«ã¾ãªãééçã³ã³ãã³ããããªãã¡ <audio>
è¦ç´ ã <video>
ãåè¦ç´ ã¨ãã¦é
ç½®ãã¦ã¯ãªãã¾ããã
<source>
è¦ç´ ã 0 å以ä¸ã® <track>
è¦ç´ ãã¡ãã£ã¢è¦ç´ ãå«ã¾ãªãééçã³ã³ãã³ããããªãã¡ <audio>
è¦ç´ ã <video>
ãåè¦ç´ ã¨ãã¦é
ç½®ãã¦ã¯ãªãã¾ããã ã¿ã°ã®çç¥ ãªããéå§ã¿ã°ã¨çµäºã¿ã°ã®ä¸¡æ¹ãå¿
é ã§ãã 許å¯ããã¦ãã親è¦ç´ åãè¾¼ã¿ã³ã³ãã³ããåãå
¥ãããã¹ã¦ã®è¦ç´ ã æé»ã® ARIA ãã¼ã« 対å¿ãããã¼ã«ãªã 許å¯ããã¦ãã ARIA ãã¼ã« application
DOM ã¤ã³ã¿ã¼ãã§ã¤ã¹ HTMLAudioElement
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4