音鳴りました。単純にコードミスだったようです。
。・゚・(ノ∀`)・゚・。
以下コードを記述した上で、JavaScriptから任意の場所でplaySound()を呼べば音が鳴ります。
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var g_audioContext = new AudioContext();
loadSound = function(url, fn) {
var request = new XMLHttpRequest();
request.open('GET', url, true);
request.responseType = 'arraybuffer';
// Decode asynchronously
request.onload = function() {
g_audioContext.decodeAudioData(request.response, function(buffer) {
fn(buffer);
});
}
request.send();
};
function playSoundBuffer(buffer) {
var source = g_audioContext.createBufferSource();
source.buffer = buffer;
source.connect(g_audioContext.destination);
source.start(0);
}
var g_soundBuffer = null;
loadSound('https://minnano.app/textmanga/assets/sound/kachi.mp3', function(buffer) {
g_soundBuffer = buffer;
});
function playSound() {
playSoundBuffer(g_soundBuffer);
}
mp3は絶対パスで指定しています。
‘https://minnano.app/textmanga/assets/sound/kachi.mp3’
の部分を変えて下さい。
しかし、これだと1種類の音しか鳴りませんね。いろんな音を鳴らしたいです。
。・゚・(ノ∀`)・゚・。
明日は、複数音源の場合の対応を考えようと思います。