Frontrend vol.7 html5 audio
- 11. XHR 読み込み
var xhr = new XMLHttpRequest();
xhr.onload = function (e) {
// data: xhr.response
}
xhr.open('GET', ‘http://example.com/sound.m4a’, true);
xhr.responseType = 'arraybuffer';
xhr.send();
- 17. 操作(3)
AudioGainNode.gain.value = 1; // range 0-1
音量
distination
AudioBufferSourceNode1GainNode1
(webkit)AudioContext
GainNode2
GainNode3
AudioBufferSourceNode2
AudioBufferSourceNode3
volume:1
volume:0.3
volume:0.7
connect
- 21. 操作(2)
HTMLAudioElement.volume = 1; // range 0-1
HTMLAudioElement.pause(); // 一時停止
var pauseTime = HTMLAudioElement.currentTime; // 再生位置
音量
一時停止
HTMLAudioElement.currentTime = pauseTime; // 再生位置
HTMLAudioElement.play(); // 再生
途中再生
- 25. WAV, MP3, AAC, OGG, M4A …...
iOS, Android
MP3, M4A
ブラウザ別に対応状況は異なります。
new Audio().canPlayType(“audio/mp3”);
> “maybe” // OK
new Audio().canPlayType(“audio/aac”);
> “” // NG
- 27. ended : 再生終了
loadstart : 読み込み開始
progress : ダウンロード
abort : 読み込み中止
error : 読み込み中エラー
canplay : 再生開始可能だが、すべてをロードしていない
volumechange : 音量変更
suspend : ロード一時停止
loadeddata : 再生可能
stalled : ロードしているが、予期しない理由で止まっている
他にもあります
- 53. QuickStart
$ npm install boombox.js
$ bower install boombox.js
$ component install CyberAgent/boombox.js
Download
https://github.com/CyberAgent/boombox.js/releases/download/1.0.0/boombox.min.js
Load
<script type="text/javascript" src=/slideshow/frontrend-vol7-html5-audio/33703433/"YOUR/PATH/TO/boombox.min.js"></script>
support require.js
- 54. // boombox running
boombox.setup();
var options = {
src: [
{
media: 'audio/mp4', // *1
path: 'http://example.com/sound.m4a' // *2
}
]
};
boombox.load('single', options, function (err, htmlaudio) { // *3
$(‘body’).append(htmlaudio.$el); // *4
boombox.get(‘single’).play(); // *5
});