Baseline Widely available
arrayBuffer()
㯠Response
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ã¡ã½ããã§ãResponse
ãåããçµããã¾ã§èªã¿åãã¾ããArrayBuffer
ã§è§£æ±ºããããããã¹ãè¿ãã¾ãã
ãªãã
è¿å¤ArrayBuffer
ã§è§£æ±ºããããããã¹ã
DOMException
AbortError
ãªã¯ã¨ã¹ãã䏿¢ãããå ´åã
TypeError
以ä¸ã®ããããã®åå ã§çºçãã¾ãã
Content-Encoding
ãããã¼ã䏿£ãªå ´åãªã©ï¼ãRangeError
é¢é£ã¥ãããã ArrayBuffer
ã使ããéã«åé¡ãçºçããå ´åã ä¾ãã°ããã¼ã¿ãµã¤ãºã Number.MAX_SAFE_INTEGER
ãè¶
ããå ´åãªã©ã
fetch array buffer ã®ã©ã¤ãã§ã¯ãPlay ãã¿ã³ãé
ç½®ãã¦ãæ¼ä¸ããã㨠getData()
颿°ãå®è¡ãããããã«ãªã£ã¦ãã¾ãã åçããåã«é³å£°ãã¡ã¤ã«å
¨ä½ããã¦ã³ãã¼ããããã¨ã«æ³¨æãã¦ãã ããããã¦ã³ãã¼ãä¸ã«æ¼å¥ãéå§ããã (ã¤ã¾ãã¹ããªã¼ã åçããã) å ´åã¯ã次ã®ããã« HTMLAudioElement
ã使ãã¾ãããã
new Audio("music.ogg").play();
getData()
颿°å
ã§ã¯ãRequest()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã使ç¨ãã¦æ°ãããªã¯ã¨ã¹ãã使ããããã使ç¨ã㦠OGG é³å£°ãã©ãã¯ãèªã¿åãã¾ãã ã¾ããAudioContext.createBufferSource
ã使ç¨ãã¦ãé³å£°ãããã¡ã¼ã½ã¼ã¹ã使ãã¾ãã èªã¿åããæåããããarrayBuffer()
ã使ç¨ãã¦ã¬ã¹ãã³ã¹ãã ArrayBuffer
ãèªã¿åãã AudioContext.decodeAudioData()
ã使ç¨ãã¦é³å£°ãã¼ã¿ããã³ã¼ããããã³ã¼ãããããã¼ã¿ãé³å£°ãããã¡ã¼ã½ã¼ã¹ã®ãããã¡ã¼ï¼source.buffer
ï¼ã¨ãã¦è¨å®ãããããã AudioContext.destination
ã«ã½ã¼ã¹ãæ¥ç¶ãã¾ãã
getData()
ã®å®è¡ãå®äºããã¨ãstart(0)
ã§é³å£°ã½ã¼ã¹ã®åçãéå§ããããããåçä¸ã«å度åçãã¿ã³ãã¯ãªãã¯ã§ããªãããã«ããããã«ï¼ããã¯ããã¨ã©ã¼ã®åå ã«ãªãã¾ãï¼ãã¿ã³ãç¡å¹åãã¦ãã¾ãã
function getData() {
const audioCtx = new AudioContext();
return fetch("viper.ogg")
.then((response) => {
if (!response.ok) {
throw new Error(`HTTP error, status = ${response.status}`);
}
return response.arrayBuffer();
})
.then((buffer) => audioCtx.decodeAudioData(buffer))
.then((decodedData) => {
const source = new AudioBufferSourceNode();
source.buffer = decodedData;
source.connect(audioCtx.destination);
return source;
});
}
// é³å£°ã®åæ¢ã¨åçãè¡ããã¿ã³ãé
ç·ãã
play.onclick = () => {
getData().then((source) => {
source.start(0);
play.setAttribute("disabled", "disabled");
});
};
ãã¡ã¤ã«ãèªã
Response()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã¯ã File
㨠Blob
ãåãå
¥ããããã File
ãä»ã®å½¢å¼ã«èªã¿è¾¼ãããã«ä½¿ç¨ãããã¨ãã§ãã¾ãã
function readFile(file) {
return new Response(file).arrayBuffer();
}
<input type="file" onchange="readFile(this.files[0])" />
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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