22 lines
671 B
JavaScript
22 lines
671 B
JavaScript
let audioContext;
|
|
let audioBuffer;
|
|
|
|
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
|
|
if (message.action === 'playSound') {
|
|
playNotificationSound();
|
|
}
|
|
});
|
|
|
|
async function playNotificationSound() {
|
|
if (!audioContext) {
|
|
audioContext = new AudioContext();
|
|
const response = await fetch(chrome.runtime.getURL('notify.wav'));
|
|
const arrayBuffer = await response.arrayBuffer();
|
|
audioBuffer = await audioContext.decodeAudioData(arrayBuffer);
|
|
}
|
|
const source = audioContext.createBufferSource();
|
|
source.buffer = audioBuffer;
|
|
source.connect(audioContext.destination);
|
|
source.start(0);
|
|
}
|